在工作中,我们在rails中运行一些高流量站点。我们经常会得到一个问题,在Nginx的错误日志中的垃圾资讯:Nginx + unicorn(rails)在nginx错误日志中经常给出“连接被拒绝”
2011/05/24 11:20:08 [error] 90248#0: *468577825 connect() to unix:/app_path/production/shared/system/unicorn.sock failed (61: Connection refused) while connecting to upstream
我们的设置是前端服务器(负载平衡),以及麒麟我们4台应用服务器上nginx的。每个独角兽都有8名工人。该设置与GitHub使用的设置非常相似。
我们大部分的内容都被缓存了,当请求到达nginx时,它会在memcached中查找页面,并在找到该页面时提供该页面 - 否则请求会转到rails。
我可以解决上面的问题 - 通过做后跟一个服务器上的麒麟过程的pkill的 - 有时:
cap production unicorn:check (removing all the pid's)
cap production unicorn:start
你们是否有任何线索,我该怎么调试这个问题?当这些问题发生时,我们在数据库服务器上没有任何明显的高负载..
今天发生在我身上的事情,在使用unix套接字连上3天gunicorn(v18.2)上行之后,我得到了拒绝上行的连接。袜子文件仍然存在,当我检查ps -aux时,gunicorn仍在运行。我正在使用eventlet,最新版本0.14。如果这个问题依然存在,我将切换到uWSGI/gevent – radtek 2014-01-20 03:44:22
如何在本地测试一个unix套接字?当我使用TCP套接字时,我可以通过使用lynx连接到localhost:8000来轻松地进行测试。 – radtek 2014-01-20 03:56:08