首頁 >運維 >linux運維 >詳解介紹Nginx中worker connections問題

詳解介紹Nginx中worker connections問題

Y2J
Y2J原創
2017-05-24 14:08:573180瀏覽

這篇文章主要介紹了Nginx中worker connections問題的解決方法,具有一定的參考價值,有興趣的小夥伴們可以參考一下

查看日誌,有一個 [warn]: 3660#0: 20000 worker_connections are more than open file resource limit: 1024 !!

原本好nginx之後,預設最大的並發數為1024,如果你的網站訪問量過大,已經遠遠超過1024這個並發數,那你就要修改worker_connecions這個值,這個值越大,並發數也有就大。當然,你一定要按照你自己的實際情況而定,也不能設定太大,不能讓你的CPU跑滿100%。

所以,當你修改提高了

設定檔中的worker_connections值,然後重啟nginx,你就會在日誌裡發現,最前面我們講到的這一個warn警告提示,大概的意思是: 20000並發連線已經超過了開啟檔案的資源限制:1024! 在這種情況下,我們就要修改設定文件,增加一行來解除這個限制,這就好像是apache中的ServerLimit。

開啟設定檔在"event"這行上面新增這一行:

worker_rlimit_nofile   xxxxx;  #Specifies the value for maximum file descriptors that can be opened by this process.

注意:設定了這個後,你修改worker_connections值時,是不能超過worker_rlimit_nofile的這個值,不然又會有前面的那個warn提示。

儲存設定文件,退出重啟nginx。

如果nginx 中worker_connections 值設定為1024,worker_processes 值設定為4,以反向代理模式下最大連線數的理論計算公式:

 最大連線數= worker_processes * worker_connections/4

檢視相關資料,生產環境中worker_connections 建議值最好超過9000,計畫將一台nginx 設定為10240,再觀察一段時間。

【相關推薦】

1. Linux免費視訊教學

2. 布林教育Linux優化視頻教學

3. linux中使用yum安裝Nginx的實例詳解

4. 教你如何在Linux中安裝Nginx伺服器

5. 詳細介紹Linux的wget指令

以上是詳解介紹Nginx中worker connections問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn