Nginx Too many open files
工作中遇到两次 Nginx 报 24: Too many open files,每次都给业务带来一些损失,记录一下。
问题 #
报错原因是达到句柄限制,一般是 Nginx 配置问题。
解决方案 #
1. 系统句柄设置 #
# /etc/security/limits.conf
2. /etc/nginx/nginx.conf #
# worker_rlimit_nofile 30000;
# https://nginx.org/en/docs/ngx_core_module.html#worker_rlimit_nofile
3. 使用 Systemd 管理的进程需要额外的设置进程的句柄数量 #
# /etc/systemd/system/nginx.service
# LimitNOFILE=500000
References #
Nginx socket() failed (24: Too many open files)
- Previous: 使用 nrm 来切换 npm 源
- Next: 关于 if/else 和 for 的可读性问题