Nginx介紹
Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫爲俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,第一個公開版本0.1.0發佈於2004年10月4日。
本博文不講解Nginx的安裝(官網和其他渠道的講解都非常多,安裝也較爲簡單),本文重點講解Nginx使用配置各參數說明、負載均衡各場景配置說明。
Nginx配置層級結構介紹
文字版結構描述如下
文件根目錄
----events:指令是設定Nginx的工作模式及連接數上限
----http:
----upstream:負載均衡服務器設置,設置一系列的後端服務器
----server:主機設置
----server:主機設置
----location:URL匹配特定位置的設置
----location:URL匹配特定位置的設置
Nginx的全局配置說明
#(默認不配置)指定Nginx Worker進程運行用戶以及用戶組,默認由nobody賬號運行。
user nobody nobody;
#Nginx要開啓的進程數。每個Nginx進程平均耗費10M~12M內存。建議指定和CPU的數量一致即可。
worker_processes 2;
#(默認不配置)指定全局錯誤日誌文件。級別有debug、info、notice、warn、error、crit可供選擇. debug級別最爲最詳細,crit輸出日誌最少。
error_log logs/error.log notice;
#(默認不配置)用來指定進程pid的存儲文件位置。
pid logs/nginx.pid;
#(默認不配置)用於綁定worker進程和CPU, Linux內核2.4以上可用。
worker_rlimit_nofile 65535;
#指令是設定Nginx的工作模式及連接數上限
events{
#(默認不配置)指定Nginx的工作模式:select、poll、kqueue、epoll、rtsig和/dev/poll。
#其中select和poll都是標準的工作模式,kqueue和epoll是高效的工作模式. epoll用在Linux平臺上,kqueue用在BSD系統中。
use epoll;
#指定Nginx每個進程的最大連接數(默認是1024). 最大客戶端連接數由worker_processes和worker_connections決定,Max_client=worker_processes*worker_connections。
#在作爲反向代理時,max_clients變爲:Max_client = worker_processes * worker_connections/4。
#進程的最大連接數受Linux系統進程的最大打開文件數限制,在執行操作系統命令"ulimit -n 65536"後worker_connections的設置才能生效
worker_connections 65536;
}
#服務器相關配置
http {
...
}
未完待續