2016-07-29 87 views
1

在我的用例中,我试图为nginx服务编写一个暴发户脚本。这里是我的内容,如何为nginx服务编写新贵脚本?

#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等停止后开始。

有人可以帮助我吗?我正在使用亚马逊linux [ec2]。

回答

1

命令service nginx start是对System V初始化脚本的调用,它像管理upstart一样管理nginx守护进程。你想要像初始化脚本那样管理守护进程,而不是调用init脚本。你可以看到初始化脚本用什么做cat /etc/init.d/nginx

nginx有一个暴发户的例子on their wiki

# nginx 

description "nginx http daemon" 
author "George Shammas <[email protected]>" 

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