user username groupname
運行用戶及用戶組html
worker_processes auto
啓動進程,一般設置成和cpu數量相等的一個數值,默認爲1。能夠設置爲auto,這樣nginx會自動根據本機的cpu內核數生成對應數量的worker進程。能夠經過lscpu命令肯定可用的核心數。nginx
pid log/nginx.pid
進程pid的存放位置後端
error_log log/error.log warn; error_log log/info.log info;
設置日誌打印位置服務器
server_tokens off
隱藏版本號代理
events { worker_connections 4096; }
events模塊包含了nginx有關鏈接處理的配置。日誌
worker_connections 4096
一個worker可以同時打開的最大鏈接數,該值最大爲workerrlimitnofile的值code
在nginx做爲http服務器時,最大鏈接數爲workerprocesses * workerconnectionsserver
在nginx做爲反向代理服務器時,最大鏈接數爲workerprocesses*workerconnections/2htm
請求緩衝區在NGINX請求處理中起着重要做用。 在接收到請求時,NGINX將其寫入這些緩衝區。 這些緩衝區中的數據可做爲NGINX變量使用,例如$request_body。 若是緩衝區與請求大小相比較小,則數據將寫入磁盤上的文件,所以將涉及I/O操做。 NGINX提供了能夠改變請求緩衝區的各類指令。blog
client_header_buffer_size 8k
它爲請求頭分配一個緩衝區。 若是請求頭大小大於指定的緩衝區,則使用largeclientheader_buffers指令分配更大的緩衝區。
client_max_body_size 130m
此指令設置NGINX能處理的最大請求主體大小。 若是請求大於指定的大小,則NGINX發回HTTP 413(Request Entity too large)錯誤。 若是服務器處理大文件上傳,則該指令很是重要。
proxy_buffer_size 64k
1 解決後端服務傳輸數據過多,實際上是header過大的問題,參考博客
2 後端服務器的相應頭會放到proxybuffersize當中,這個大小默認等於proxybuffers當中的設置單個緩衝區的大小。 proxybuffersize只是響應頭的緩衝區,沒有必要也跟着設置太大。 proxybuffer_size最好單獨設置,通常設置個4k就夠了。
proxy_buffers 8 64k
1 若某些請求的響應過大,則超過buffers的部分將被緩衝到硬盤(緩衝目錄由temppath指令指定), 固然這將會使讀取響應的速度減慢, 影響用戶體驗. 可使用proxymaxtempfile_size指令關閉磁盤緩衝
2 proxybuffers的緩衝區大小通常會設置的比較大,以應付大網頁。 proxybuffers當中單個緩衝區的大小是由系統的內存頁面大小決定的,Linux系統中通常爲4k。 proxy_buffers由緩衝區數量和緩衝區大小組成的。總的大小爲number*size