1. 程式人生 > >Nginx高併發處理

Nginx高併發處理

#user  nobody;
#nginx程序數,建議按照cpu數目來指定,一般跟cpu核數相同或為它的倍數。
worker_processes  18;
#下面這個指令是指當一個nginx程序開啟的最多檔案描述符數目,理論值應該是系統的最多開啟檔案數(ulimit -n)與nginx程序數相除,但是nginx分配請求並不是那麼均勻,所以最好與ulimit -n的值保持一致。
worker_rlimit_nofile 65535;

events {
    #每個程序允許的最多連線數,理論上每臺nginx伺服器的最大連線數為worker_processes*worker_connections。
    worker_connections  65535;
    #使用epoll的I/O模型,用這個模型來高效處理非同步事件
    use epoll;
    #如果multi_accept被禁止了,nginx一個工作程序只能同時接受一個新的連線。否則,一個工作程序可以同時接受所有的新連 
    #接。 
    #如果nginx使用kqueue連線方法,那麼這條指令會被忽略,因為這個方法會報告在等待被接受的新連線的數量。
	multi_accept on;
}


http {
    #http連線超時時間,預設是60s,功能是使客戶端到伺服器端的連線在設定的時間內持續有效,當出現對伺服器的後繼請求時, 
    #該功能避免了建立或者重新建立連線。切記這個引數也不能設定過大!否則會導致許多無效的http連線佔據著nginx的連線數, 
    #終nginx#崩潰!
	keepalive_timeout 65;
    #隱藏響應頭中的有關作業系統和web server(Nginx)版本號的資訊,這樣對於安全性是有好處的。
    server_tokens off;
}