nginx修改配置後reload原理初探

前言
  • nginx啓動時,會啓動兩個進程: 一個是Master進程和worker進程。
改變配置後nginx做的事
  • 1)改變了nginx配置之後,HUP signal的信號需要發送給主進程。
  • 2)主進程首先會檢測新配置的語法有效性。
  • 3)嘗試應用新的配置
    • 1.打開日誌文件,並且新分配一個socket來監聽。
    • 2.如果1失敗,則回滾改變,還是會使用原有的配置。
    • 3.如果1成功,則使用新的配置,新建一個線程。新建成功後發送一個關閉消息給舊的進程。要求舊線程優雅的關閉。
  • 4.舊的線程 受到信號後會繼續服務,當所有請求的客戶端被服務後,舊線程關閉。
圖解

nginx修改配置後的做法

  • 修改配置後使用如下命令生效配置
nginx -s reload
查看進程情況
  • 從如下進程情況的改變可以知道

    • 此時進程1360是 nginx的主進程
  • 修改前

修改前

  • 修改後

修改後

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章