分享互联网知识,建站、IT话题杂谈

NGINX [alert] worker process XX exited on signal 11 error

最近检查几个启用https的网站发现浏览器中会出现“ERR_CONNECTION_CLOSED”的错误,第一次打开的时候Chrome浏览器总是报错,刷新后正常,而Firefox则保持原的页面不动,再次输入网址后能打开。下面将解决办法提供一下。

检查Nginx日志,/var/log/nginx/error.log,发现如下信息

[alert] 4738#0: worker process 5262 exited on signal 11
[alert] 4738#0: worker process 5272 exited on signal 11
[alert] 4738#0: worker process 5274 exited on signal 11
[alert] 4738#0: worker process 5282 exited on signal 11

经过一下午加一上午的搜索分析和各种尝试,终于解决,解决办法很简单:
Nginx主配置文件,我的Debian系统位置/etc/nginx/nginx.conf里添加一行:

ssl_session_cache    shared:SSL:10m;

参考资料:

解决问题后记

一开始从“ERR_CONNECTION_CLOSED”提示入手怀疑过是Chrome浏览器本身问题,怀疑是PageSpeed模块问题。只能一步步通过多个浏览器,多个服务器进行排查,复现问题。解决,耗费时间之长远超预计。而且这个问题的级别还挺高,毕竟第一次就打不开网站,客户流失率还是非常高的。

一方面,我们急切地获取应用新技术所带来的巨大/革命性优势;另外一方面,盈利性/企业站点对稳定性的刚性需求。这一组矛盾是十分尖锐的,如果企业/组织没有专人进行相关维护(不仅仅是兼职一个人,而应该是一个人或者一个团队负责服务器的日常维护),那么稳定性还是应该放在首位。待新技术已经长时间测试,大规模应用后再进行全面部署。
经过这次加上之前的一些事情,我在想,给外贸网站新手推荐VPS或许真的不是最好的方案,日后再整理一些好的虚拟空间(shared hosting)推荐出来。

其实这次出错也有点无奈,原因:

  • 因为装有翻墙软件,在打不开网站的情况下会自动刷新重新,错误呈现时间短。
  • 所部署的站点都没有忠实客户群体,不像论坛那样有大量的高粘性用户反馈问题,没有意识到问题严重性
  • 国内网络环境恶劣,当注意到的时候一直以为是本地网络问题(之前有网络运营商劫持导致空白页面的问题),并没有引起重视
  • 这个问题仅出现在应用Nginx SNI(一个服务器部署多个SSL证书站点)的服务器上,单个服务器只部署一个SSL证书站点不会出错。

Leave a comment

Your email address will not be published. Required fields are marked *