2013-01-09 32 views
0

我有一個特定於我目前正在使用的項目(Django,具體而言)的nginx配置。在Ubuntu 12.04上使用init.d和自定義配置文件啓動nginx

它看起來像「正確」的方式在Ubuntu啓動nginx的是

sudo /etc/init.d/nginx start 

不過,我想提供一個自定義配置文件。一般情況下我這樣做以下列方式:

sudo nginx -c /my/project/config/nginx.conf 

望着init.d/nginx文件,它看起來並不像有任何參數的start命令傳遞,所以我不能做

sudo /etc/init.d/nginx start -c /my/project/config/nginx.conf 

解決我的問題的最佳方法是什麼?

+0

嘗試'須藤/etc/init.d/nginx -s啓動-C /我的/ project/config/nginx.conf' –

+0

我得到標準的init.d錯誤信息: 用法:nginx {start | stop | restart | reload | force-reload | status | configtest} – mallyvai

+0

您可以硬編碼自定義配置路徑在'/ etc/init.d/nginx'中,編輯變量'NGINX_CONF_FILE =「/ my/project/config/nginx.conf」'。然後,您可以執行'sudo /etc/init.d/nginx start'來啓動它。我不確定這是否是一種好方法。 –

回答

1

init.d不是在Ubuntu上使用的正確的管理員,您應該使用Upstart。把這個/etc/init/nginx.conf,你將能夠啓動/與sudo start nginxsudo stop nginx停止:

description "nginx http daemon" 
author "George Shammas" 

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

env DAEMON=/usr/local/nginx/sbin/nginx -c /my/project/config/nginx.conf 
env PID=/usr/local/nginx/logs/nginx.pid 

expect fork 
respawn 
respawn limit 10 5 

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

exec $DAEMON 
相關問題