nginx的配置檔案結構
nginx.conf由多個塊組成,最外面的塊是main,main包含events和http,http包含upstream和多個server,server又包含多個location
}main(全域性設定)、server(主機設定)、upstream(負載均衡伺服器設定)和 location(url匹配特定位置的設定)。
這四者之間的關係式:server繼承main,location繼承server,upstream既不會繼承其他設定也不會被繼承。在這四個部分當中,每個部分都包含若干指令,這些指令主要包含nginx的主模組指令、事件模組指令、http核心模組指令,同時每個部分還可以使用其他http模組指令,例如http ssl模組、httpgzip static模組和http addition模組等。
nginx的全域性配置
user nobody nobody;
worker_processes 2;
error_log logs/error.log notice;
pid logs/nginx.pid;
worker_rlimit_nofile 65535;
events
http伺服器配置http
upstream是nginx的http upstream模組,這個模組通過乙個簡單的排程演算法來實現客戶端ip到後端伺服器的負載均衡。
在上面的設定中,通過upstream指令指定了乙個負載均衡器的名稱cszhi. com。這個名稱可以任意指定,在後面需要的地方直接呼叫即可。
nginx的負載均衡模組目前支援4種排程演算法,下面進行分別介紹,其中後兩項屬於第三方的排程方法。
注意,當負載排程演算法為ip_hash時,後端伺服器在負載均衡排程中的狀態不能是weight和backup。
server虛擬主機配置
server
這段設定是通過location指令來對網頁url進行分析處理,所有副檔名以.gif、.jpg、.jpeg、.png、.bmp、.swf結尾的靜態檔案都交給nginx處理,而expires用來指定靜態檔案的過期時間,這裡是30天。
location ~ ^/(upload|html)/
這段設定是將upload和html下的所有檔案都交給nginx來處理,當然,upload和html目錄包含在/web/wwwroot/www.cszhi.com目錄中
location ~ .*.php$
這段設定中,location是對此虛擬主機下動態網頁的過濾處理,也就是將所有以.php為字尾的檔案都交給本機的8080埠處理
stubstatus模組配置
stubstatus模組能夠獲取nginx自上次啟動以來的工作狀態,此模組非核心模組,需要在nginx編譯安裝時手工指定才能使用此功能。
以下指令實指定啟用獲取nginx工作狀態的功能
location /nginxstatus
/usr/local/apache/bin/htpasswd -c /opt/nginx/conf/htpasswd test
然後輸入兩次密碼後確認之後新增使用者成功。
要檢視nginx的執行狀態,可以輸入http://ip/nginxstatus,輸入建立的使用者名稱和密碼就可以看到nginx的執行狀態:
active connections: 1
server accepts handled requests
34561 35731 354399
reading: 0 writing: 3 waiting: 0
active connections表示當前活躍的連線數,第三行的三個數字表示 nginx當前總共處理了34561個連線, 成功建立次握手, 總共處理了354399個請求。最後一行的reading表示nginx讀取到客戶端header資訊數, writing表示nginx返回給客戶端的header資訊數
,「waiting」表示nginx已經處理完,正在等候下一次請求指令時的駐留連線數。
設定錯誤返回資訊
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html
設定了虛擬主機的錯誤資訊返回頁面通過error_page指令可以定製各種錯誤資訊的返回頁面。在預設情況下,nginx會在主目錄的html目錄中查詢指定的返回頁面,特別需要注意的是,這些錯誤資訊的返回頁面大小一定要超過512k,否者會被ie瀏覽器替換為ie預設的錯誤頁面。 nginx配置檔案詳解
nginx engine x 是乙個高效能的 http 和 反向 伺服器,也是乙個 imap pop3 smtp 伺服器。nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。igor 將源 以類bsd許可證的形式發布。ng...
nginx配置檔案詳解
定義nginx執行的使用者和使用者組 user www www nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,debug info notice warn error crit error log ar loginx error.log...
Nginx配置檔案詳解
定義nginx執行的使用者各使用者組 user nginx nginx nginx程序數,建議設定與cpu核心數一致 worker processes 1 全域性錯誤日誌定義型別 debug info notice warn error crit error log logs error.log e...