兩者區別
reload --重新加載,reload會重新加載配置文件,Nginx服務不會中斷。而且reload時會測試conf語法等,如果出錯會rollback用上一次正確配置文件保持正常運行。
restart --重啟(先stop后start),會重啟Nginx服務。這個重啟會造成服務一瞬間的中斷,如果配置文件出錯會導致服務啟動失敗,那就是更長時間的服務中斷了。
所以,如果是線上的服務,修改的配置文件一定要備份。為了保證線上服務高可用,最好使用reload。
reload 實現過程
FAQ
reload 只是重新加載配置文件,不會清理nginx 的一些緩存,在有些需要清理緩存的場景需要restart ,例如upstream 后端配置的集群服務地址是域名而不是ip,當后端IP 變了,就需要清除該域名的解析緩存,此時需要重啟而不是reload。