nginx過載配置檔案
一、
nginx在開發中被越來越多的使用到,負載均衡,統一閘道器、靜態資源伺服器等等,
這裡要說的是一個命令,通過這個命令來實現,服務的熱部署,熱部署的原理就是通過其多程序模型實現
來看看多程序模型的解釋(這裡摘錄其他博主的文章):
Nginx 在啟動後,會有一個 master 程序和多個 worker 程序。 master 程序主要用來管理worker 程序,包括接收來自外界的訊號,向各 worker 程序傳送訊號,監控 worker 程序的執行狀態以及啟動 worker 程序。 worker 程序是用來處理來自客戶端的請求事件。多個 worker 程序之間是對等的,它們同等競爭來自客戶端的請求,各程序互相獨立,一個請求只能在一個 worker 程序中處理。worker 程序的個數是可以設定的,一般會設定與機器 CPU 核數一致,這裡面的原因與事件處理模型有關 Nginx 的程序模型,可由下圖來表示:
通過上圖所示的程序之間的關係:
這種設計帶來以下優點:
1) 利用多核系統的併發處理能力
現代作業系統已經支援多核 CPU 架構,這使得多個程序可以分別佔用不同的 CPU 核心來工作。Nginx 中所有的 worker 工作程序都是完全平等的。這提高了網路效能、降低了請求的時延。
2) 負載均衡
多個 worker 工作程序通過程序間通訊來實現負載均衡,即一個請求到來時更容易被分配到負載較輕的 worker 工作程序中處理。這也在一定程度上提高了網路效能、降低了請求的時延。
3) 管理程序會負責監控工作程序的狀態,並負責管理其行為
管理程序不會佔用多少系統資源,它只是用來啟動、停止、監控或使用其他行為來控制工作程序。首先,這提高了系統的可靠性,當 worker 程序出現問題時,管理程序可以啟動新的工作程序來避免系統性能的下降。其次,管理程序支援 Nginx 服務執行中的程序升級、配置項修改等操作
我們呢就是通過這個特點來熱切換配置檔案實現服務部署等操作。
二、 實現的步驟:
1.修改原配置檔案並上傳到nginx的配置檔案位置
2.部署新專案到伺服器(不要和原服務在同一埠)
3.切換到sbin目錄下(該目錄下有可執行的nginx的二進位制檔案)執行 :nginx -s reload 命令
4.打完收工 ,可以檢視服務的啟動情況 netstat -lptn 命令
5.通過nginx訪問新服務測試
服務熱部署搞定!!!!
ps:本文有摘抄其他博主的部分這裡貼出連線https://www.cnblogs.com/kkzhilu/p/13637077.html