このようにnginxをubuntu 12.04で停止すると、次のエラーが発生します。
$ Sudo service nginx stop
Stopping nginx: nginx.
$Sudo service nginx start
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
this を使用して修正する必要があります。サービスを停止してもnginxプロセスが終了しないのはなぜですか?混乱しています!
デフォルトでは、start-stop-daemonはSIGTERMをnginxプロセスに送信します。停止処理を保証するものではありません。修正:ファイル/etc/init.d/nginx
セクション "stop"文字列の変更
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
に
start-stop-daemon --stop --retry=TERM/30/KILL/5 --quiet --pidfile /var/run/$NAME.pid \
その修正は、SIGTERMがプロセスを停止しない場合にSIGKILL(kill -9)を送信します。
そして、pid-fileへのパスpid /var/run/nginx.pid;
/etc/nginx/nginx.conf
およびパス--pidfile /var/run/$NAME.pid
/etc/init.d/nginx
同じだ。