nginx 報錯 accept4 () failed (24: Too many open files)

蠟筆小新發表於2019-04-26

關於nginx的連線數過多的最佳化

這兩天伺服器一直被人打,在nginx的報錯日誌裡面發現了一大堆的,檔案數開啟太多的錯誤

nginx報錯accept4() failed (24: Too many open files)

於是加了防禦後,順便去最佳化一下nginx,
執行如下命令,先對伺服器當前設定的檔案數檢視

root@iZj6cj2eq1jzcj0fzwz7f5Z:~# ulimit -Hn
65535
root@iZj6cj2eq1jzcj0fzwz7f5Z:~# ulimit -Sn
65535

返回的結果是65535,這個不夠用,那麼我就修改一下
修改之前,先確認一下系統的上限是多少

root@iZj6cj2eq1jzcj0fzwz7f5Z:~# sysctl -n -e fs.file-max
398462

那麼根據這修改開啟檔案數量的上限,在/etc/security/limits.conf檔案裡,最後加上

* soft nofile 300000
* hard nofile 300000

然後重啟nginx 推出重進

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章