Comment redémarrer nginx?

95

Pour moi, je lance "killall nginx" et le lance par "sbin / nginx", tout le monde a un meilleur script de redémarrage?

BTW: J'installe nginx à partir des sources, je ne trouve pas la commande 'service nginx' ou /etc/init.d/nginx

Larry
la source
1
Pourquoi installez-vous à partir des sources? Les packages Nginx sont disponibles pour la plupart des bonnes distributions Linux sur serveur. Vous pouvez aussi lancer vos propres paquets, mais ne pas les utiliser est un fiasco pour la maintenabilité.
Tom O'Connor
à cause de mod_rails
larry

Réponses:

150

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

/etc/init.d/nginx restart

va redémarrer nginx

comme le fera

service nginx restart

Modifier

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

Iain
la source
2
Cela dépend de votre référentiel. La source de Nginx ne fournit pas de scripts d'initialisation. Par conséquent, si vous aimez être mis à jour et compilé à partir de la source, vous devrez en obtenir un à partir du wiki.
Martin Fjordvald
1
Je dois avoir plus de café avant de répondre aux questions ...
user9517
qu'est-ce que le service nginx restart pointe vers et est-il approprié de recharger quelque chose lorsqu'une modification est apportée à init.d / nginx? Mes deux commandes (/etc/init.d/nginx et service nginx) semblent désynchronisées.
Danny
@Danny: dunno J'ai écrit cela il y a 2 ans.
user9517
15

http://wiki.nginx.org/CommandLine

à l'intérieur des liens, il y a une commande 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

LiJung
la source
4

Pour une raison quelconque, le système intégré sur lequel je travaille est:

systemctl restart nginx
cardamome
la source
1
Cette question et la plupart des réponses ont huit ans et sont obsolètes. C'est "une raison". C'est la bonne façon de le faire sur les systèmes d'exploitation Linux actuels.
Michael Hampton
Ok, alors peut-être que ce n'est pas juste pour les systèmes embarqués alors
cardamome
1

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 HUPsignal lui permet de relire ses fichiers de configuration, il tailindique si des erreurs ont été rencontrées, les dateplace dans le contexte (une erreur ne s’est produite que si le temps qui précède datecorrespond au temps du journal) et sleep 1garantit qu’il existe des erreurs. aucune condition de concurrence entre la lecture du journal avant que nginx n'ait eu le temps de l'écrire.

Voici à quoi ça 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 se situe pas entre les heures imprimées dateindique qu'aucune erreur n'a été rencontrée cette fois-ci et que la nouvelle configuration est bonne.

cnst
la source
0

Vous pouvez trouver des scripts d'init dans le NginX Wiki: 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-le BASEDIR=par BASEDIR=/opt/nginx.

Lekensteyn
la source
0

Habituellement, les packages installés depuis les sources n’installent pas le script de démarrage sur /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 paquet de votre système et le personnaliser.

Khaled
la source