使用init.d和自定义配置文件在Ubuntu 12.04上启动nginx

时间:2013-01-09 22:29:37

标签: django ubuntu nginx

我有一个特定于我正在处理的项目的nginx配置(准确地说是Django)。

看起来在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

解决问题的最佳方法是什么?

1 个答案:

答案 0 :(得分: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