Configuración del servicio MongoDB en /etc/init.d/mongodb_service.sh
#!/bin/sh
#chkconfig: 2345 80 90
#description: Inicia y detiene el servidor MongoDB
iniciar() {
/opt/mongodb/bin/mongod --config /opt/mongodb/conf/mongo_config.conf
echo "Servidor MongoDB iniciado"
}
detener() {
/opt/mongodb/bin/mongod --config /opt/mongodb/conf/mongo_config.conf --shutdown
echo "Servidor MongoDB detenido"
}
case "$1" in
iniciar)
iniciar
;;
detener)
detener
;;
reiniciar)
detener
iniciar
;;
esac
service mongodb_service.sh iniciar|detener|reiniciar
Cofniguración del servicio Redis en /etc/init.d/redis_service.sh
#!/bin/sh
### METADATO DE INICIO
# Proporciona: redis_6379
# Inicio por defecto: 2 3 4 5
# Detención por defecto: 0 1 6
# Descripción breve: Servidor de estructuras de datos Redis
# Descripción: Servidor de estructuras de datos Redis. Ver https://redis.io
### FIN DE METADATO
PUERTO_REDIS=6379
EXECUTABLE=/opt/redis/bin/redis-server
CLI_TOOL=/opt/redis/bin/redis-cli
ARCHIVO_PID=/var/run/redis_${PUERTO_REDIS}.pid
CONFIG="/opt/redis/bin/conf/redis_config.conf"
case "$1" in
iniciar)
if [ -f $ARCHIVO_PID ]
then
echo "$ARCHIVO_PID existe, el proceso ya está en ejecución o falló"
else
echo "Iniciando servidor Redis..."
$EXECUTABLE $CONFIG
fi
;;
detener)
if [ ! -f $ARCHIVO_PID ]
then
echo "$ARCHIVO_PID no existe, el proceso no está en ejecución"
else
PID=$(cat $ARCHIVO_PID)
echo "Deteniendo..."
$CLI_TOOL -p $PUERTO_REDIS shutdown
while [ -x /proc/${PID} ]
do
echo "Esperando a que Redis se detenga..."
sleep 1
done
echo "Redis detenido"
fi
;;
*)
echo "Utilice iniciar o detener como primer argumento"
;;
esac
service redis_service.sh iniciar|detener
Configruación del servicio .NET Core en /etc/systemd/system/aplicacion_datos.service
[Unit]
Descripción=Servicio de recolección de datos
[Service]
DirectorioTrabajo=/opt/aplicacion_datos
ExecStart=nohup /usr/bin/dotnet /opt/aplicacion_datos/aplicacion_datos.dll
Restart=always
RestartSec=10
SyslogIdentifier=dotnet core console
Usuario=root
Environment=ASPNETCORE_ENVIRONMENT=Producción
[Install]
WantedBy=multi-user.target
systemctl iniciar|detener aplicacion_datos