nginx配置檔案作用介紹

2022-01-17 09:11:08 字數 3640 閱讀 7543

1

######nginx配置檔案nginx.conf中文詳解#####23

#定義nginx執行的使用者和使用者組

4user www www;56

#nginx程序數,建議設定為等於cpu總核心數。

7 worker_processes 8;8

9 #全域性錯誤日誌定義型別,[ debug | info | notice | warn | error |crit ]

10 error_log /usr/local/nginx/logs/error.log info;11

12#程序pid檔案

13 pid /usr/local/nginx/logs/nginx.pid;

1415

#指定程序可以開啟的最大描述符:數目

16#工作模式與連線數上限

17 #這個指令是指當乙個nginx程序開啟的最多檔案描述符數目,理論值應該是最多開啟檔案數(ulimit -n)與nginx程序數相除,但是nginx分配請求並不是那麼均勻,所以最好與ulimit -n 的值保持一致。

18 #現在在linux 2

.6核心下開啟檔案開啟數為65535,worker_rlimit_nofile就相應應該填寫65535。

19 #這是因為nginx排程時分配請求到程序並不是那麼的均衡,所以假如填寫10240,總併發量達到3-4萬時就有程序可能超過10240了,這時會返回502錯誤。

20 worker_rlimit_nofile 65535;21

2223

events

2466

6768

69#設定http伺服器,利用它的反向**功能提供負載均衡支援

151#每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。

152#例如:

153#upstream bakend

158 #3

、fair(第三方)

159#按後端伺服器的響應時間來分配請求,響應時間短的優先分配。

160#upstream backend

165 #4

、url_hash(第三方)

166#按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。

167#例:在upstream中加入hash語句,server語句中不能寫入weight等其他的引數,hash_method是使用的hash演算法

168#upstream backend

174175

#tips:

176#upstream bakend

183 #在需要使用負載均衡的server中增加 proxy_pass http://

bakend/;

184185

#每個裝置的狀態設定為:

186 #1

.down表示單前的server暫時不參與負載

187 #2

.weight為weight越大,負載的權重就越大。

188 #3

.max_fails:允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream模組定義的錯誤

189 #4

.fail_timeout:max_fails次失敗後,暫停的時間。

190 #5

.backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。

191192

#nginx支援同時設定多組的負載均衡,用來給不用的server來使用。

193#client_body_in_file_only設定為on 可以講client post過來的資料記錄到檔案中用來做debug

194#client_body_temp_path設定記錄檔案的目錄 可以設定最多3層目錄

195#location對url進行匹配.可以進行重定向或者進行新的** 負載均衡

196}

197198

199200

#虛擬主機的配置

201server

202218

219#快取時間設定

225#js和css快取時間設定

226 location ~ .*.(js|css)?$

227230

231#日誌格式設定

232#$remote_addr與$http_x_forwarded_for用以記錄客戶端的ip位址;

233#$remote_user:用來記錄客戶端使用者名稱;

234#$time_local: 用來記錄訪問時間與時區;

235#$request: 用來記錄請求的url與http協議;

236#$status: 用來記錄請求狀態;成功是200,

237#$body_bytes_sent :記錄傳送給客戶端檔案主體內容大小;

238239

240#通常web伺服器放在反向**的後面,這樣就不能獲取到客戶的ip位址了,通過$remote_add拿到的ip位址是反向**伺服器的ip位址。反向**伺服器在**請求的http頭資訊中,可以增加x_forwarded_for資訊,用以記錄原有客戶端的ip位址和原來客戶端的請求的伺服器位址。

#定義本虛擬主機的訪問日誌

246 access_log /usr/local/nginx/logs/host.access.log main;

247 access_log /usr/local/nginx/logs/host.access.404

.log log404;

248249 #對 "/"

啟用反向**

250 location /

299300

301#設定檢視nginx狀態的位址

302 location /nginxstatus

309310

#本地動靜分離反向**配置

311#所有jsp的頁面均交由tomcat或resin處理

312 location ~ .(jsp|jspx|do)?$

318319

#所有靜態檔案由nginx直接讀取不經過tomcat或resin

}332 ######nginx配置檔案nginx.conf中文詳解#####

Nginx核心配置檔案介紹

配置總覽 1.設定worker程序的使用者,指的linux中的使用者,會涉及到nginx操作目錄或檔案的一些許可權,預設為 nobody user root 2.worker程序工作數設定,一般來說cpu有幾個,就設定幾個,或者設定為n 1也行 worker processes 1 3.nginx ...

nginx配置檔案的詳細介紹

為什麼一直著重研究nginx呢?是因為它是一款很強大的伺服器,如果會lua這種外掛程式語言的話,配合與之使用將會是未來幾年的新的流行技術,因為太輕了,能力太強大了,到現在可以大概看出,實際伺服器之間的架構就是配置檔案的鏈結,修改,新增等關係。下面就介紹一下nginx的配置解析 nginx 的配置主要...

nginx配置檔案

執行使用者 user nobody nobody 啟動程序 worker processes 2 全域性錯誤日誌及pid文件 error log logs error.log notice pid logs nginx.pid 工作模式及連線數上限 events 設定http伺服器,利用他的反向 功...