Travail de nginx.service a échoué parce que le processus de contrôle a quitté avec le code d'erreur
J'ai suivi les étapes pour installation d'un serveur nginx. Après j'ai créer exemple.com.config et lien symbolique pour chaque bloc de serveur dans le sites-enabled répertoire. Mon nginx ne peut pas démarrer.
Je ne peux pas redémarrer nginx service. Il affiche le message suivant lorsque je suis entré dans
$sudo systemctl restart nginx.service
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
$sudo systemctl status nginx.service -l affiche le message suivant.
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2017-06-05 04:26:05 EDT; 1min 27s ago
Docs: http://nginx.org/en/docs/
Process: 4776 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
Process: 11491 ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
Jun 05 04:26:05 localhost.localdomain systemd[1]: Starting nginx - high performance web server...
Jun 05 04:26:05 localhost.localdomain nginx[11491]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jun 05 04:26:05 localhost.localdomain nginx[11491]: nginx: [emerg] open() "/var/run/nginx.pid" failed (13: Permission denied)
Jun 05 04:26:05 localhost.localdomain nginx[11491]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jun 05 04:26:05 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1
Jun 05 04:26:05 localhost.localdomain systemd[1]: Failed to start nginx - high performance web server.
Jun 05 04:26:05 localhost.localdomain systemd[1]: Unit nginx.service entered failed state.
Jun 05 04:26:05 localhost.localdomain systemd[1]: nginx.service failed.
PS: je suis en cours d'exécution sous CentOS 7 sur virtualbox.
S'il vous plaît aider moi. Merci.
Voici la sortie quand je lance ls -lart /var/run/
total 56
dr-xr-xr-x. 17 root root 233 Jun 2 05:37 ..
drwxr-xr-x. 2 root root 60 Jun 6 01:21 tmpfiles.d
drwxr-xr-x. 3 root root 60 Jun 6 01:21 log
drwxr-xr-x. 2 root root 60 Jun 6 01:21 mount
drwxr-xr-x. 4 root root 120 Jun 6 01:21 initramfs
prw-------. 1 root root 0 Jun 6 01:21 dmeventd-server
prw-------. 1 root root 0 Jun 6 01:21 dmeventd-client
drwx------. 2 root root 80 Jun 6 01:21 lvm
-rw-r--r--. 1 root root 4 Jun 6 01:21 lvmetad.pid
drwxr-xr-x. 2 root root 60 Jun 6 01:21 sysconfig
drwxr-xr-x. 2 root root 40 Jun 6 01:21 samba
drwxr-xr-x. 2 root root 40 Jun 6 01:21 setrans
drwxrwxr-x. 2 root root 40 Jun 6 01:21 netreport
drwxr-xr-x. 2 root root 40 Jun 6 01:21 faillock
drwx------. 2 rpc rpc 40 Jun 6 01:21 rpcbind
drwxr-xr-x. 2 root root 40 Jun 6 01:21 ppp
drwxrwxr-x. 3 root libstoragemgmt 60 Jun 6 01:21 lsm
drwxr-xr-x. 2 root root 40 Jun 6 01:21 spice-vdagentd
drwxr-xr-x. 2 root root 40 Jun 6 01:21 sepermit
drwxr-xr-x. 2 radvd radvd 40 Jun 6 01:21 radvd
drwx--x---. 2 root root 40 Jun 6 01:21 mdadm
drwxr-xr-x. 2 root root 40 Jun 6 01:21 certmonger
drwx--x--x. 2 setroubleshoot setroubleshoot 40 Jun 6 01:21 setroubleshoot
-rw-r--r--. 1 root root 4 Jun 6 01:21 auditd.pid
drwxr-xr-x. 2 root root 60 Jun 6 01:21 dbus
srw-rw-rw-. 1 root root 0 Jun 6 01:21 rpcbind.sock
drwxr-xr-x. 3 root lp 80 Jun 6 01:21 cups
drwxr-xr-x. 2 avahi avahi 80 Jun 6 01:21 avahi-daemon
-rw-------. 1 root root 11 Jun 6 01:21 alsactl.pid
-rw-r--r--. 1 root root 4 Jun 6 01:21 chronyd.pid
-rw-r--r--. 1 root root 4 Jun 6 01:21 ksmtune.pid
drwxr-xr-x. 2 root root 100 Jun 6 01:21 abrt
-rw-------. 1 root root 4 Jun 6 01:21 gssproxy.pid
srw-rw-rw-. 1 root root 0 Jun 6 01:21 gssproxy.sock
-rw-------. 1 root root 0 Jun 6 01:21 xtables.lock
drwxr-x---. 2 root root 40 Jun 6 01:21 firewalld
-rw-r--r--. 1 root root 4 Jun 6 01:21 dhclient-enp0s3.pid
drwxr-xr-x. 2 root root 80 Jun 6 01:21 NetworkManager
-rw-------. 1 root root 5 Jun 6 01:21 sm-notify.pid
drwxr-xr-x. 7 root root 180 Jun 6 01:21 lock
-rw-------. 1 root root 5 Jun 6 01:21 syslogd.pid
-rw-r--r--. 1 root root 5 Jun 6 01:21 sshd.pid
-rw-r--r--. 1 root root 5 Jun 6 01:21 crond.pid
-rw-r--r--. 1 root root 5 Jun 6 01:21 atd.pid
-rw-r--r--. 1 root root 4 Jun 6 01:21 libvirtd.pid
----------. 1 root root 0 Jun 6 01:21 cron.reboot
drwxr-xr-x. 2 root root 60 Jun 6 01:21 tuned
drwxr-xr-x. 6 root root 220 Jun 6 01:21 libvirt
drwxr-xr-x. 2 root root 40 Jun 6 01:21 plymouth
drwx------. 2 root root 40 Jun 6 01:22 udisks2
drwxr-xr-x. 2 root root 80 Jun 6 01:24 console
drwx--x--x. 4 root gdm 120 Jun 6 01:24 gdm
drwxr-xr-x. 3 root root 60 Jun 6 01:24 user
-rw-rw-r--. 1 root utmp 1536 Jun 6 01:24 utmp
drwxr-xr-x. 7 root root 160 Jun 6 01:24 udev
drwxr-xr-x. 17 root root 420 Jun 6 01:25 systemd
drwxr-xr-x. 37 root root 1140 Jun 6 01:25 .
ps -eaf |grep nginx
root 698 685 0 01:21 ? 00:00:00 runsv nginx
root 748 698 0 01:21 ? 00:00:00 svlogd -tt /var/log/gitlab/ngin
root 749 698 0 01:21 ? 00:00:00 nginx: master process /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx
gitlab-+ 800 749 0 01:21 ? 00:00:00 nginx: worker process
gitlab-+ 801 749 0 01:21 ? 00:00:00 nginx: cache manager process
yen 6683 3840 0 01:44 pts/0 00:00:00 grep --color=auto nginx
Sortie de ps -eaf |grep nginx
et netstat -tulpn |grep 80
avant et après.
Voici la sortie de ps -eaf |grep nginx
root 669 1 0 21:50 ? 00:00:00 runsvdir -P /opt/gitlab/service log: svlogd: warning: unable to lock directory: /var/log/gitlab/nginx: temporary failure svlogd: fatal: no functional log directories. svlogd: warning: unable to lock directory: /var/log/gitlab/nginx: temporary failure svlogd: fatal: no functional log directories. svlogd: warning: unable to lock directory: /var/log/gitlab/nginx: temporary failure svlogd: fatal: no functional log directories. .....
root 4333 669 0 21:57 ? 00:00:00 runsv nginx
root 4348 4333 0 21:57 ? 00:00:00 svlogd -tt /var/log/gitlab/nginx
root 4374 4333 0 21:57 ? 00:00:00 nginx: master process /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx
gitlab-+ 4381 4374 0 21:57 ? 00:00:00 nginx: worker process
gitlab-+ 4382 4374 0 21:57 ? 00:00:00 nginx: cache manager process
yen 14156 4094 0 23:13 pts/0 00:00:00 grep --color=auto nginx
- Pouvez-vous exécuter
ls -lart /var/run/
et coller la sortie. Nginx est d'avoir difficile à lirepid
fichier dont il a besoin pour arrêter/démarrer/redémarrer et le statut des appels. Je soupçonne qu'il y a pas assez d'autorisations pour elle. Jun 05 04:26:05 localhost.localdomain nginx[11491]: nginx: [emerg] open() "/var/run/nginx.pid" failed (13: Permission denied)
, Je ne vois pasnginx.pid
dans/var/run/
répertoire. Comment commencez-vous nginx? avec des privilèges sudo?- Pouvez-vous me ping la sortie de
ps -eaf |grep nginx
. Je soupçonne maîtriser le processus de nginx est toujours en cours d'exécution - Je commence nginx avec la commande
sudo systemctl start nginx
. - Pouvez-vous exécuter
kill -9 749
suivie parps -eaf |grep nginx
etnetstat -tulpn |grep 80
et coller la sortie? - Capture d'écran de la sortie sont ajoutés.
- ok. Vous avez encore des processus de travail, le gestionnaire de cache et d'autres processus, exécution
kill -9 698
,kill -9 748
,kill -9 800
,kill -9 801
,kill -9 30841
etkill -9 30843
puis exécutezps -eaf |grep nginx
etnetstat -tulpn |grep 80
- après l'exécution de
kill -9 -xxxx
, il semble avoir d'erreur. J'avais modifié l'image que j'ai téléchargé précédemment. - Pastebins sont bloqués ici. Pouvez-vous coller la sortie tout seul? Il est très simple de tuer tous les nginx processus et ensuite commencer à nginx. Devrait fonctionner
- Tu veux dire que la sortie de
ps -eaf |grep nginx
etnetstat -tulpn |grep 80
? - La sortie de la ps-eaf | grep nginx
- Ajout de la sortie.
- tuer tous les processus indiqué dans la sortie et de commencer à nginx
- après avoir tué le processus, je les vois encore en cours d'exécution lorsque j'exécute
ps -eaf |grep nginx
. Est-il normal? - Non, il n'est pas normal. Tuer doit terminer le processus. Vérifier pourquoi le processus ne sont pas tués. Essayez avec
sudo kill
. Si vous avez déjà essayé, au début de nginx et voir si vous voyez la même question. - J'ai tué le processus, mais quand j'ai commencer à nginx, montrent toujours le même problème.
- Avez-vous accès à un redémarrage de l'hôte? Si oui, redémarrez et essayez. Pouvez-vous essayer de redémarrer nginx avec
sudo nginx restart
nginx: invalid option: "restart"
. - je exécutersudo nginx
puis sortie montrenginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
- ok. nginx est déjà en cours d'exécution sur le port 80. Vous devez tous les tuer. Pas sûr de savoir comment les processus commencent eux-mêmes après le meurtre. C'est très bizarre. Vous pouvez considérer que le redémarrage de la machine, qui pourrait tuer tous les processus de nginx
- Même problème après je redémarre ma machine.
- Vous devriez chercher à savoir pourquoi les processus sont exécutés après avoir été tué. Pas sûr de savoir comment ils commencent eux-mêmes
- Je vais essayer d'étudier. Merci pour votre aide. 😀
- Était-ce résolu? Je suis confronté à un problème similaire sur mon serveur.
- pouvez-vous donner le votre Nginx Sever fichier de configuration je pense que si vous me la donner je peut apporter une solution. Si vous utilisez linux tapez ces commandes sudo nano /etc/nginx/sites-available/default et de me donner les résultats du fichier.
Vous devez vous connecter pour publier un commentaire.
Vérifiez votre journal des erreurs avec
sudo cat /var/log/nginx/error.log|less
Vous pouvez également avec WinScp en entrant le chemin d'accès /var/log/nginx/
Dans mon cas a l'erreur de syntaxe.
Dans mon fichier de configuration du serveur, j'ai eu:
server_name {api.mydomain.com};
La correcte est:
server_name api.mydomain.com;