当请求项目中的某些页面时,页面没有报错,但是网络报500InternalServerError。客户反馈的解决方法,公司某运行项目中,部分页面出现错误,但没有报错信息。通过检查网络,nginx报500InternalServerError错误。查看nginx日志,发现日志中包含大量socket()failed(24:Toomanyopenfiles)whileconnectingtoupstream错误信息,如下图所示:通过查询linux下的文件句柄,可以知道:ulimit-n1024,系统的文件句柄是1024,太小了,所以修改vi/etc/security如下方式/limits.conf在文件末尾添加#配置nginx用户文件limitnginxsoftnofile65535nginxhardnofile65535###配置所有用户文件limitsoftnofile65535hardnofile65535同时在vi/etc/sysctl.conf65535末尾添加fs.file-max=65535重启,数通过ulimit-n查看已经是65535,但是因为需要重启服务器,临时在终端使用如下命令解决ulimit-n65535,需要在nginx配置中配置vi/etc/nginx/nginx同时文件.confworker_rlimit_nofile65535;events{worker_connections65535;}可以解决这个问题
