如何为nginx服务编写upstart脚本?

时间:2016-07-29 10:59:20

标签: linux nginx service amazon-ec2 upstart

在我的用例中,我正在尝试为nginx服务编写一个upstart脚本。这是我的内容,

#nginx upstart script
description "start and stop nginx server"

start on (net-device-up
and local-filesystems
and runlevel [2345])

stop on runlevel [016]

respawn
respawn limit 5 30

console output

exec service nginx start

但这不起作用,因为我们需要在停止和开始后删除pid等。

有人可以帮我吗?我正在使用amazon linux [ec2]。

1 个答案:

答案 0 :(得分:1)

命令service nginx start是对System V init脚本的调用,它像upstart一样管理nginx守护进程。您希望upstart像init脚本一样管理守护进程,而不是调用init脚本。您可以看到init脚本对cat /etc/init.d/nginx

的作用

nginx有一个新贵示例on their wiki

# nginx

description "nginx http daemon"
author "George Shammas <georgyo@gmail.com>"

start on (filesystem and net-device-up IFACE!=lo)
stop on runlevel [!2345]

env DAEMON=/usr/sbin/nginx
env PID=/var/run/nginx.pid

expect fork
respawn
respawn limit 10 5
#oom never

pre-start script
        $DAEMON -t
        if [ $? -ne 0 ]
                then exit $?
        fi
end script

exec $DAEMON