【Nginx】 配置負載--Nginx配置詳解與負載方案詳解

Nginx介紹

Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫爲俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,第一個公開版本0.1.0發佈於2004年10月4日。
本博文不講解Nginx的安裝(官網和其他渠道的講解都非常多,安裝也較爲簡單),本文重點講解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 {
	...
	}

未完待續

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