nginx常用配置解析
1、常用公共參數(shù)(一般放在http下面,雖然很多參數(shù)都支持server和location)
keepalive_timeout 60; #單位為s
keepalive_request 2; #設(shè)置與客戶端在上述超時(shí)次數(shù)才真正斷開連接;
tcp_nodelay off; #用于設(shè)置是否允許套接字TCP_NODELAY,默認(rèn)為on; tcp_nodelay 作用是用于設(shè)置數(shù)據(jù)包盡快發(fā)送數(shù)據(jù); 和tcp_nodelay相反,如果啟用了 buffer,建議關(guān)閉 tcp_nodelay
tcp_nopush on; #用于設(shè)置是否允許套接字TCP_NOPUSH,默認(rèn)為off; tcp_nopush 的作用就是 數(shù)據(jù)包會(huì)累計(jì)到一定大小之后才會(huì)發(fā)送;
send_timeout 10; #用于設(shè)置與客戶端建立tcp握手的超時(shí)時(shí)間
send_file on; #用于設(shè)置是否啟用sendfile()函數(shù),常用是設(shè)置為on;
client_max_body_size 100m; #用于設(shè)置允許接受的客戶端請(qǐng)求內(nèi)容的最大值,超過這個(gè)值將返回http 413
client_body_buffer_size 128k; #用于指定客戶端請(qǐng)求內(nèi)容(用戶內(nèi)容)的緩沖大小,如果客戶端請(qǐng)求內(nèi)容大于設(shè)置值,將啟用臨時(shí)文件
client_body_temp_path /usr/local/nginx/client_body_temp/ ; #設(shè)置client_body_buffer_size臨時(shí)文件目錄
client_head_buffer_size 20k ; #用于緩沖客戶端的請(qǐng)求頭(頭體Request Header),如果帶cookie的話,需要特別注意加大點(diǎn),默認(rèn)值為1kn
server_names_hash_max_size 512; #用于限制server_name 的hash大小,粗暴理解就是server_name的字節(jié)長(zhǎng)度r
server_tokens off; #主要用于設(shè)置響應(yīng)頭中nginx版本的顯示,off代表關(guān)閉,on開啟,默認(rèn)配置on,基于安全考慮,一般選擇off;
gzip on;
gzip_buffers 4 8k; #用于設(shè)置幾個(gè)單位的緩存用于存儲(chǔ)gzip的壓縮結(jié)果流,如果未設(shè)置,將獲取與需要壓縮的文件大小一樣的內(nèi)存;
gzip_comp_level 1; #用于設(shè)置壓縮比,可設(shè)置參數(shù)為1-9,1最快,但壓縮比例小,9最慢,但壓縮比例大;
gzip_min_length 1k; #設(shè)置超過多大的內(nèi)容需要進(jìn)行壓縮,默認(rèn)是0,一般設(shè)置為1K;
下列這些模塊設(shè)置的需根據(jù)生產(chǎn)場(chǎng)景來設(shè)置位置
add_header name value; #用于在響應(yīng)頭中添加指定的頭和值;可以設(shè)置多個(gè),需要分行設(shè)置;
add_header name1 value1;
add_header Cache-Control no-store,no-cache; #用于通知瀏覽器不緩存
expires time|epoch|max|off; #用于設(shè)置http響應(yīng)頭中Expires和Cache-Control頭的值
#time: 即設(shè)置時(shí)間長(zhǎng)短,如果設(shè)置為-1,則表示為永遠(yuǎn)過期;
proxy相關(guān)配置:
proxy_hide_header header_name; #用來隱藏后端被代理的服務(wù)器響應(yīng)頭,nginx返回給客戶端的響應(yīng)頭里將不會(huì)出現(xiàn)被隱藏的頭;
proxy_pass_header header_name; #用于指定某些默認(rèn)被nginx禁止轉(zhuǎn)發(fā)的響應(yīng)頭可以進(jìn)行轉(zhuǎn)發(fā);
proxy_pass ; #用來指定后端代理地址
proxy_set_header name value ; #用于重新定義或添加從客戶端過來的請(qǐng)求頭 ,然后再發(fā)給后端被代理服務(wù)器
proxy_redirect off; #用于更改后端被代理服務(wù)器的響應(yīng)頭中的location,默認(rèn)值為off;
proxy_connect_timeout #用于指定跟后端服務(wù)器連接的超時(shí)時(shí)間,發(fā)起握手至等候響應(yīng)的時(shí)間 單位s 默認(rèn)60
proxy_read_timeout #用于指定跟后端服務(wù)器建立了TCP連接,至TCP連接狀態(tài)為ESTABLIASHED時(shí)間 單位s 默認(rèn)60
proxy_send_timeout #用于指定后端服務(wù)器數(shù)據(jù)回傳時(shí)間_就是在規(guī)定時(shí)間之內(nèi)后端服務(wù)器必須傳完所有的數(shù)據(jù) 單位s 默認(rèn)60
proxy_buffer_size 4k; #用于指定一個(gè)處理后端響應(yīng)的header的緩存的大小,可用來nginx做規(guī)則匹配處理
proxy_buffers 4 32k; #指定一個(gè)處理后端代理服務(wù)器返回主體 應(yīng)答(response的網(wǎng)頁結(jié)果)的buffer 的數(shù)量和大小
proxy_cookie_path /proxy_path /; #將客戶端的請(qǐng)求頭中的cookie代理至后端
總結(jié):對(duì)于響應(yīng)頭的修改 locatio<server<http ,即當(dāng)在location中設(shè)置了某些響應(yīng)頭,如果server中有修改,則以server為最終結(jié)果,如果http中再次設(shè)置,則以http中為準(zhǔn);
總結(jié)
以上是生活随笔為你收集整理的nginx常用配置解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ACM公选课第五节贪心4.14-5.4补
- 下一篇: ACM公选第六节下DP基础(当复习了)2