次の Upstart スクリプトを使用して、Ubuntu サーバーで Nginx を稼働させています。
start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [!2345]
env DAEMON=/usr/sbin/nginx
env CONF=/etc/nginx/nginx.conf
respawn
respawn limit 10 5
pre-start script
$DAEMON -t
if [ $? -ne 0 ]; then
exit $?
fi
end script
exec $DAEMON -c $CONF -g "daemon off;" > /dev/null 2>&1
このスクリプトは、kill コマンドを使用して Nginx マスター プロセスを強制終了している場合を除いて、正常に動作します。マスター プロセスを強制終了した後、/var/run/nginx.pid は同じままですが、Nginx pid は数秒ごとに変化し続けます (これは、Nginx が常に再起動していることを意味しますか?)。これを修正する方法はありますか?