Nginx 從入門開始的網站架設 (1)

啟動 Ngnix 並認識 nginx.conf

最近有個案子,客戶覺得我們第一次交上去的壓力測試結果太狼狽,要我們想辦法把數字做得更好,於是我們嘗試了 windows 內建的 Network Load Balance(NLB)來進行設定,礙於網路管理的基礎知識不足,遇到了非常多的阻礙 QQ

最後透過 Nginx 成功做到了 Load Balance,這個系列的文章就是來紀錄順便複習學習到的內容。

Beginner’s Guide

從 Nginx 的官網上下載下來的檔案內容其實很簡單,只有一個 exe 執行檔和一些資料夾。

Nginx 的運作方式主要是靠 nginx.conf 來決定的,這個檔案通常會在 /usr/local/nginx/conf /etc/nginx /usr/local/etc/nginx 這幾個目錄底下。

啟動 Nginx

  1. 雙擊來執行 nginx.exe
  2. 透過 cmd 切換到 nginx 的資料夾底下,執行 start nginx

對 Nginx 進行操作

nginx 被執行起來後就需要以 nginx -s <options> 的方式來控制:

nginx -x  中 options 可以填入的內容和說明。

其中 nginx -s stopnginx -s quit 的差別在於:

  • quit - 停止接收 request,等到手上這個 request 處理完之後,才會結束目前的服務
  • stop - 立刻結束服務

另外, nginx -s quit 只能由開啟 nginx 的使用者(帳號)執行。

除了 nginx -s stop 之外,最常會用到的應該是 nginx -s reload

如果 nginx.conf 有進行修改的話,執行 reload 後主程式才會吃到這個設定的更改。如果主程式設定成功,會通知其他舊有的程式,讓他們停止接收新的 request,將手上的 request 處理完之後結束服務,用新的設定開啟一個新的程式。如果主程式設定失敗的話,會把設定 rollback 成舊的設定並繼續執行。

config 檔案的名詞

在修改 nginx.conf 之前,先來認識一下 config 檔案裏面基本的組成元素:

  • simple directives - 包含指令名稱和參數,兩者之間用半形空白來區隔,並且以半形分號 ; 作為結尾
  • block directive - 結構和 simple directives 一樣,但他會被半形大括號 {} 包起來
  • context - 一個 block directive 裡面有其他的 directive,例如 events http server location 都是屬於 context
Built with Hugo
Theme Stack designed by Jimmy