web-dev-qa-db-fra.com

Comment redémarrer nginx?

Pour moi, je lance "killall nginx" et je le démarre par "sbin/nginx", quelqu'un a un meilleur script de redémarrage?

BTW: j'installe nginx depuis la source, je ne trouve pas la commande 'service nginx' ou /etc/init.d/nginx

98
larry

Le package nginx fournit un script /etc/init.d/nginx qui fournit la fonctionnalité habituelle start | stop | restart | reload ....

/etc/init.d/nginx restart

redémarrera nginx

comme le fera

service nginx restart

Éditer

Ici est un lien vers un script que vous pouvez utiliser comme /etc/init.d/nginx.

154
user9517

http://wiki.nginx.org/CommandLine

à l'intérieur des liens, il y a des commandes pour démarrer et arrêter le serveur nginx

pour démarrer nginx:

/usr/bin/nginx

pour arrêter nginx:

/usr/bin/nginx -s stop

/usr/bin dépend de l'endroit où vous installez votre nginx

17
LiJung

Pour une raison quelconque, sur le système embarqué sur lequel je travaille, il y a:

systemctl restart nginx
4
cardamom

Après avoir édité les fichiers de configuration, je le redémarre comme ceci sur OpenBSD:

kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
    tail -2 /var/www/logs/error.log ; date

Le signal HUP lui fait relire ses fichiers de configuration, le tail indique si des erreurs ont été rencontrées, le date met ces erreurs dans le contexte (une erreur s'est produite uniquement si l'heure de date correspond à l'heure du journal), et sleep 1 garantit qu'il n'y a pas de conditions de concurrence entre la lecture du journal avant que nginx n'ait eu le temps d'y écrire.

Voici à quoi cela ressemble:

Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns# 

Le fait que l'heure du journal ne soit pas comprise entre les heures imprimées par date indique qu'aucune erreur n'a été rencontrée cette fois-ci et que la nouvelle configuration est bonne.

1
cnst

Vous pouvez trouver des scripts init dans le wiki NginX: http://wiki.nginx.org/Configuration#Init_Scripts

La fonction de redémarrage exécute la commande suivante:

BASEDIR=
$BASEDIR/sbin/nginx -s stop
$BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf

Si vous avez installé nginx dans/opt/nginx, remplacez BASEDIR= par BASEDIR=/opt/nginx.

0
Lekensteyn

Habituellement, les packages installés à partir des sources n'installent pas de script de démarrage à /etc/init.d/. Vous avez deux options.

1- Vous pouvez rechercher un script dans le répertoire du code source ou sur le site Web et le personnaliser si nécessaire.

2- Vous pouvez copier un script de démarrage pour un autre package à partir de votre système et le personnaliser.

0
Khaled