nginx:如何在不重新启动 nginx 的情况下加载新的 conf 文件

Ale*_*ird 2 nginx uptime

我在sites-available中创建了一个新的conf文件(并在sites-enabled中链接了它),现在我想“安装”那个conf文件而不重置nginx服务器。

作为 root,我可以运行,nginx -c file.conf因为这几乎可以满足我的要求;但是,当 nginx 启动时,启用了站点的 conf 文件似乎在其他一些定义的上下文中运行,因为在运行该命令时我总是收到以下错误:

$ nginx -c /etc/nginx/sites-available/alpha
2010/09/30 02:32:13 [emerg] 31769#0: unknown directive "server" in sites-available/alpha:1
Run Code Online (Sandbox Code Playgroud)

如何动态运行这个新的 conf 文件?

$ nginx -v
nginx version: nginx/0.6.32
$ cat /etc/issue
Debian GNU/Linux squeeze/sid
$ cat /etc/nginx/sites-available/alpha
server {
    listen   443;
    server_name  XXX.net;

    ssl  on;
    ssl_certificate      /etc/nginx/certificates/server.crt;
    ssl_certificate_key  /etc/nginx/certificates/server.key;

    ssl_session_timeout  5m;

    ssl_protocols  SSLv2 SSLv3 TLSv1;
    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers   on;

    location / {
        proxy_pass   http://127.0.0.1:1338;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用自签名证书。

pau*_*ska 5

运行以下命令:

/etc/init.d/nginx reload
Run Code Online (Sandbox Code Playgroud)

(或者,在较新的 debian/ubuntu 上):

service nginx reload
Run Code Online (Sandbox Code Playgroud)