2014-01-22 129 views
24

我想修改Nginx conf文件以删除“重写”。重新加载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; 
    } 
} 

现在我要重新加载该文件的conf,我试图

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

在日志文件中有行 2014年1月22日11:25:25 [注意] 1310#0:启动信号进程

但是这些修改不是加载。

回答

34

也许你不是以root身份执行它?

尝试sudo nginx -s reload,如果它仍然不起作用,您可能需要尝试sudo pkill -HUP nginx

+1

即使在Bitnami LAMP堆栈上,这种方法也可行! 谢谢 –

+0

@GangsarSwaPurba,很高兴它的作品!它应该可以在任何UNIX系统上运行,因为它不依赖任何专有的框架或系统特定的脚本! – cnst

20

如果你的系统有systemctl

sudo systemctl reload nginx 

如果你的系统支持service(使用Debian/Ubuntu的)尝试这种

sudo service nginx reload 

如果不是(使用CentOS的/ Fedora的/等),你可以尝试init脚本

sudo /etc/init.d/nginx reload 
+2

没有服务的等价物是'/etc/init.d/nginx reload'。据我所知,将工作在centos和debian上。 – Lightbulb1

+0

debian发行版更喜欢使用'service'关键字,如果你使用'init.d'脚本,一些软件包甚至会发出警告,所以我通常使用'service'并且如果它不起作用就退回到'init.d' ,无论哪种方式,我将这个技巧添加到我的回答 –

+0

这很有趣。我从未见过警告。我一直以为服务在/etc/init.d/中运行脚本。我更喜欢服务,因为它更容易打字。出现警告的技术原因是什么? – Lightbulb1