【问题标题】:Reload Nginx configuration重新加载 Nginx 配置
【发布时间】:2014-02-13 01:52:06
【问题描述】:

我正在尝试修改 Nginx 配置文件以删除“重写”。

目前,我有这个配置文件:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen      80;
        server_name amc.local;
        return 301 https://$host:8443/index.html;
    }
}

现在我想重新加载这个配置文件,我试过了

nginx -s reload
nginx -c <conf file>
nginx -s stop/start

在日志文件中,有一行

2014/01/22 11:25:25 [notice] 1310#0: signal process started

但未加载修改。

【问题讨论】:

    标签: configuration nginx webserver


    【解决方案1】:

    也许您没有以 root 身份执行此操作?

    试试sudo nginx -s reload,如果还是不行,你可以试试sudo pkill -HUP nginx

    【讨论】:

    • 即使在 Bitnami LAMP Stack 上,这种方法也有效!谢谢
    • @GangsarSwaPurba,很高兴它有效!它几乎可以在任何 UNIX 系统上运行,因为它不依赖于任何专有框架或系统特定脚本!
    【解决方案2】:

    如果你的系统有systemctl

    sudo systemctl reload nginx
    

    如果你的系统支持service(使用debian/ubuntu)试试这个

    sudo service nginx reload
    

    如果没有(使用 centos/fedora/etc)你可以试试 init 脚本

    sudo /etc/init.d/nginx reload
    

    【讨论】:

    • 没有服务的等价物是/etc/init.d/nginx reload。据我所知,可以在 centos 和 debian 上工作。
    • debian 发行版更喜欢service 关键字,如果您使用init.d 脚本,某些软件包甚至会发出警告,所以我通常使用service,如果不使用则回退到init.d不行,不管怎样,我都会将此提示添加到我的答案中
    • 这很有趣。我从未见过警告。我一直认为服务在 /etc/init.d/ 中运行脚本。我更喜欢服务,因为它更容易打字。引发警告的技术原因是什么?
    • 谢谢。这很有意义。我还发现了这个http://www.tutorialspoint.com/unix_commands/service.htm 我认为它只是手册页,但它确实解释了服务如何创建一个最小的环境来运行脚本。我想它可以帮助它们在不同的发行版之间一致地运行。
    • 当你有 Nginx 服务时它会起作用。问题是关于 Nginx 执行文件而不是服务...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2013-02-18
    • 1970-01-01
    相关资源
    最近更新 更多