nginx提示:Too many open files這種錯誤問題的原因是因為linux文件系統最大可打開文件數為1024,而你的nginx中的error.log出現大量的Too many open files,說明文件句柄不夠用了所以就錯誤提示出來了。
如果nginx的error.log出現大量的Too many open files,說明文件句柄不夠用了,這時候我們需要加大系統的文件句柄數和nginx的允許最大的連接數。
默認情況下linux文 件系統最大可打開文件數為1024,對於一個應用於生產環境下的服務器來說,這個設置太小,例如在用nginx做web服務器,當並發達到一定數量時,可以看到error.log里出現大量的“Nginx accept() failed (24: Too many open files)” 的錯誤。
正確設置Linux的ulimit -n的值的步驟如下:
1.先用命令ulimit -n 查看目前的值
2. vim /etc/security/limits.conf
建議把下面兩項都設置為65535
* soft nofile 65535
* hard nofile 65535
(前面的*星號代表全局,針對所有的用戶;nofile代表文件句柄數量;soft nofile的值不能超過hard nofile的值)
3.vim /usr/local/nginx/conf/nginx.conf
找到worker_connections ,把值調大一些,比如加個0
4.重啟Linux系統
命令:shutdown -r now 表示立即重啟
如果您閱讀過此文章有所收獲,請為我頂一個,如果文章中有錯誤的地方,歡迎指出。
相互學習,共同進步!