「Nginx」簡述Nginx

轉載請註明出處: blog.csdn.net/jinixin/article/details/89894063

 

Nginx是什麼? 如何配置? 作用有哪些? 這些問題一直困擾着我, 下面做個簡單記錄.

在我的理解中, Nginx是一個Web服務器, 架設在客戶端和應用服務器之間, 用於在客戶端與應用服務器間轉發請求與響應. 形如下圖:

Nginx服務器

從客戶端角度看, Nginx與應用服務器是一個整體, 即爲一個黑盒, 結合上篇博客, 可以很明顯看出Nginx是反向代理.

 

 

作用

 

做反向代理服務器即爲Nginx的一個作用, 常見用法在此我先一併列出, 之後都會詳細提到:

  1. 靜態資源服務器
  2. 虛擬主機(即共享主機)
  3. 反向代理服務器, 並支持集羣負載均衡

除此之外, Nginx還可以控制IP, 緩存響應等.

 

 

安裝

 

Nginx本身分爲開源版本與商業版本, 我使用的是開源版本, 相關安裝文檔請參照這裏.

 

 

主進程與工作進程

 

Nginx包括一個主進程和多個工作進程, 主進程負責讀取並生效配置文件, 保活所有工作進程. 工作進程處理收到的網絡請求, 一個工作進程可同時異步處理多個網絡請求, 工作進程數量可通過配置文件設定, 一般爲CPU核心數量的1~2倍.

當啓動Nginx或重新載入配置文件時, 主進程首先會檢查配置文件的語法, 若語法正確, 其會根據配置文件構造新的工作進程, 並要求舊的工作進程在結束當前請求後自行銷燬. 如期間發生異常, 其會回滾至舊配置, 這也正是Nginx支持熱部署的原因.

 

 

常用命令

 

Nginx可以通過如下命令進行管理:

  1. nginx, 啓動Nginx
  2. nginx -h, 獲取幫助信息
  3. nginx -t, 檢查配置文件語法, 從打印結果中可知配置文件位置. 編輯配置後建議先用該命令進行檢查, 通過後再重新載入.
  4. nginx -s stop, 立即停止Nginx, 類似於操作系統的KILL信號.
  5. nginx -s quit, 溫柔停止Nginx, 類似於操作系統的TERM信號, Nginx主進程會要求工作進程在處理完當前請求後再銷燬.
  6. nginx -s reload, 重新載入Nginx配置文件

 

 

日誌

 

Nginx的日誌默認處於”/var/log/nginx/”下, 並分爲”access_log”與”error_log”兩個文件, 具體位置可在配置文件裏修改, Nginx支持:

  1. 不同server輸出到不同的日誌文件
  2. 同個server輸出到多份日誌文件

 

有關Nginx的配置, 將在下篇中開始介紹.

 

文中如有不當之處, 還望包容和指出, 謝謝.

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