2016-07-29 86 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