重新加载 Nginx 配置
Posted
技术标签:
【中文标题】重新加载 Nginx 配置【英文标题】:Reload Nginx configuration 【发布时间】: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
但未加载修改。
【问题讨论】:
【参考方案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 执行文件而不是服务...以上是关于重新加载 Nginx 配置的主要内容,如果未能解决你的问题,请参考以下文章
linux 上修改了nginx.conf 怎么重新加载配置文件生效
Nginx常用命令(启动/重启/停止/测试配置文件/重新加载配置文件)