作為真實(shí)服務(wù)器的優(yōu)化
針對(duì)CPU的nginx 配置優(yōu)化指令
worker_processes 指令是用來(lái)指定Nginx工作進(jìn)程數(shù)
官方默認(rèn)設(shè)為1,但是為了讓多核CPU能夠更好的處理并行任務(wù),可以將該值設(shè)置大一些,最好這個(gè)值是機(jī)器CPU的倍數(shù)斋陪。
worker_cpu_affinity 指令用來(lái)為每個(gè)進(jìn)程分配工作內(nèi)核(CPU)吵聪。
這個(gè)指令的設(shè)置方法有些麻煩.我們這里遵循一個(gè)規(guī)則去設(shè)定,就可以很簡(jiǎn)單。規(guī)則:
cpu 有多少個(gè)核,就有幾位數(shù),1代表使用,0代表不使用这难。
來(lái)舉個(gè)栗子,上面兩個(gè)優(yōu)化的結(jié)合:
兩核CPU,開啟兩個(gè)進(jìn)程
worker_processes 2;
worker_cpu_affinity 01 10;
針對(duì)網(wǎng)絡(luò)相關(guān)的配置指令
keepalive_timeout 用于設(shè)置Nginx服務(wù)器與客戶端保持連接的超時(shí)時(shí)間
keepalive_timeout 參數(shù)1 參數(shù)2;
參數(shù)1指定客戶端連接保持活動(dòng)的超時(shí)時(shí)間,在這個(gè)時(shí)間之后,服務(wù)器會(huì)關(guān)閉此連接;
參數(shù)2指定了使用Keep-Alive 消息頭保持存活的有效時(shí)間,如果不設(shè)置他,Nginx服務(wù)器不會(huì)向客戶端發(fā)送Keep-Alive 消息頭以保持與客戶端某些瀏覽器(如Mozilla,Konqueror等)的連接沪蓬。設(shè)置這個(gè)選項(xiàng)后,客戶端就可以在超時(shí)時(shí)間后關(guān)閉連接,而不需要服務(wù)器關(guān)閉了肋僧。
舉個(gè)栗子
keepalive_timeout 60 30;
如果客戶端連接超過(guò)60S,服務(wù)器關(guān)閉此次連接鞠抑;
客戶端連接超過(guò)30S就關(guān)閉連接饭聚。
send_timeout 用于設(shè)置Nginx 服務(wù)器響應(yīng)客戶端的超時(shí)時(shí)間
這個(gè)超時(shí)時(shí)間僅針對(duì)客戶端和服務(wù)器端建立連接之后,如果在指定的時(shí)間內(nèi),客戶端沒有收到任何內(nèi)容,這個(gè)連接將會(huì)被斷開搁拙。
client_header_buffer_size 用戶設(shè)置Nginx 服務(wù)器允許的客戶端請(qǐng)求頭的緩沖區(qū)大小,默認(rèn)是1KB秒梳。一般是:
client_header_buffer_size 4k;
Gzip 壓縮指令
開啟或者關(guān)閉Gzip功能, 默認(rèn)指令設(shè)置為off, 即不啟用Gzip功能。只有設(shè)置為on時(shí),后續(xù)介紹的指令才會(huì)有效箕速。
gzip on | off;