Cómo configurar el servidor Janus WebRTC como un servicio con systemd en Ubuntu 18.04

En tutoriales anteriores, explicamos cómo construir la puerta de enlace Janus WebRTC en su servidor Ubuntu 18.04 con bastante facilidad. Ahora bien, cuando trabajes en producción con la mencionada herramienta, seguro que no querrás mantener el proceso ejecutándose en el terminal de tu PC con PuTTY o alguna herramienta SSH, sino que lo más recomendable es crear un servicio que ejecute el binario de Janus.

Lo primero que debes hacer es crear el archivo systemd con el siguiente comando, en este caso nombraremos el servicio webrtcserver:

sudo nano /etc/systemd/system/webrtcserver.service

Luego, pega el siguiente contenido en el terminal. Tenga en cuenta que debe reemplazar los valores de:

  • WorkingDirectory: el directorio donde el binario janus debe tener como directorio actual.
  • ExecStart: la ruta al binario janus, puede eliminarla /usr/bin/sudosi no desea ejecutar el proceso con más privilegios.

El contenido del archivo será el siguiente:

[Unit]
Description=My Janus WebRTC Server
After=network.target

[Service]
User=root
Nice=1
Restart=on-abnormal
LimitNOFILE=65536
# If you need to specify the current working directory of the
WorkingDirectory=/opt/janus/share/janus/recordings
ExecStart=/usr/bin/sudo /opt/janus/bin/janus

[Install]
WantedBy=multi-user.target

Cierre el editor y guarde los cambios. Luego proceda a recargar el demonio con el siguiente comando:

sudo systemctl daemon-reload

Finalmente, puede simplemente iniciar el servicio janus con el siguiente comando:

sudo systemctl start webrtcserver

Puede comprobar el estado con:

sudo systemctl status webrtcserver

Que debería generar algo como esto:

● webrtcserver.service - My Janus WebRTC Server
   Loaded: loaded (/etc/systemd/system/webrtcserver.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-06-08 20:06:33 -05; 2 weeks 0 days ago
 Main PID: 28681 (sudo)
    Tasks: 33 (limit: 4915)
   CGroup: /system.slice/webrtcserver.service
           ├─28681 /usr/bin/sudo /opt/janus/bin/janus
           └─28682 /opt/janus/bin/janus

Es posible que también necesite habilitar el servicio, para que pueda iniciarse cada vez que se reinicia el servidor:

sudo systemctl enable webrtcserver

Esto creará un enlace simbólico desde la copia del sistema del archivo de servicio (generalmente en  /lib/systemd/system o  /etc/systemd/system) en la ubicación del disco donde se  systemd buscan los archivos de inicio automático (generalmente  ./etc/systemd/system/some_target.target.wants

Que te diviertas ❤️!

Esto podria interesarte

Conviertete en un programador más sociable