1.更改ulimit -n 连接数和nginx -s reload
先查看Linux系统最多允许同时打开(即包含所有用户打开文件数总和)个文件,是Linux系统级硬限制,所有用户级的打开文件数限制都不应超过这个数值。通常这个系统级硬限制是Linux系统在启动时根据系统硬件资源状况计算出来的最佳的最大同时打开文件数限制,如果没有特殊需要,不应该修改此限制,除非想为用户级打开文件数限制设置超过此限制的值。
cat /proc/sys/fs/file-max
修改此硬限制的方法是修改/etc/rc.local脚本,在脚本中添加如下行:
echo 修改此硬限制的方法是修改/etc/rc.local脚本,在脚本中添加如下行:
echo 180950 > /proc/sys/fs/file-max
2.查看系统是否对用户设置可软硬限制
/etc/security/limits.conf
其中第一端指定了要修改哪个用户的打开文件数限制,可用’*'号表示修改所有用户的限制;
soft或hard指定要修改软限制还是硬限制;数字则指定了想要修改的新的限制值,即最大打开文件数(请注意软限制值要小于或等于硬限制)。修改完后保存文件
3.通过/etc/profilet添加如下配置。
ulimit -c unlimited
ulimit -n 102400
由/etc/rc.local启动的程序,链接数依然使用默认1024,网上有2种关于该问题的说法(a种说法更为可靠):
a/ /etc/security/limits.conf配置的生效只针对触发了tty ssh登录的用户(我们的服务是守护启动,没有tty ssh登录,所以未生效)
b/ /etc/security/limits.conf配置的生效晚于/etc/rc.local自启动(我们的所有程序服务由/etc/rc.local启动),相当于我们的程序服务启动时,网络连接数限制的配置还未生效,使用的是默认配置1024个连接。