2014-01-22 132 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