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)