2012-03-20 16 views
6

Estoy ejecutando Fedora 16 32bit e instalé el pasajero con nginx (opción 1 durante la instalación, todo se manejó para mí). La instalación fue correcta, pero nginx no está registrada como servicio.Pasajero con NginX no registrado como servicio en Fedora

La única manera en que puedo ejecutarlo es directamente a través de /opt/nginx/sbin/nginx. No hay posibilidad de ejecutarlo a través de /etc/init.d/nginx

¿Hay alguna forma de cómo registrarlo como servicio?

+0

https://github.com/johnantoni/nginx_init_script – manzhikov

Respuesta

5

Crear archivo /etc/systemd/system/nginx.service con el contenido:

[Unit] 
Description=Nginx 
After=syslog.target network.target 

[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx 
ExecReload=/usr/local/nginx/sbin/nginx -s reload 

[Install] 
WantedBy=multi-user.target 

Después de que se puede controlar con:

sudo systemctl stop|start|restart nginx.service 

o

sudo service nginx stop|start|restart 

Para habilitar nginx para comenzar el arranque puede ejecutar sudo systemctl enable nginx.service.

+0

Para bifurcar servicios como nginx, se recomienda incluir la opción 'PIDFile =' en su archivo de servicio. Entonces el ejemplo anterior incluiría 'PIDFile =/var/run/nginx.pid' después de la línea' Type = bifurcación'. Para obtener más información, consulte: [http://0pointer.de/public/systemd-man/systemd.service.html](http://0pointer.de/public/systemd-man/systemd.service.html) – Nick

0

Hice el siguiente "hack". Se instaló nginx recién compilado con soporte para pasajeros, se verificó que se ejecuta correctamente cuando se inició desde la línea de comandos, luego se instaló nginx con sudo yum install nginx (era CentOS).

Y, por último, busqué *nginx* archivos en la carpeta /etc y reemplacé allí /usr/sbin/nginx a /opt/nginx/sbin/nginx. Luego, reinicié la máquina y pude iniciar nginx con sudo service nginx start.

Sin duda hay una forma más elegante de hacerlo, pero soy perezoso para estudiar cómo en cada distribución de Linux se registran los servicios.

También he sustituido allí los caminos para

  • nginx.conf
  • nginx.pid (${prog}.pid) - de lo contrario no será capaz de detener nginx
Cuestiones relacionadas