我已经在这里安装了带有Nginx的Passenger用于测试,并且在数千次请求后我一直收到此错误:
[ pid=57259 thr=0x40f07780 file=ext/nginx/HelperAgent.cpp:576 time=2010-12-15 14:04:25.876 ]: Uncaught exception in PassengerServer client thread:
exception: write() failed: Socket is not connected (57)
backtrace:
in 'void Client::forwardResponse(Passenger::SessionPtr&, Passenger::FileDescriptor&)' (HelperAgent.cpp:368)
in 'void Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:502)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
[ pid=57259 thr=0x40f07080 file=ext/nginx/HelperAgent.cpp:566 time=2010-12-15 14:04:26.416 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
我有2台服务器,我正在运行haproxy + apache + mongrel,我将其中一台换成haproxy + nginx + passenger(haproxy只是我测试的备份,所以我可以快速重定向到旧架构如果发生火灾)。
所以我注意到我的乘客在此消息后死亡。 我使用ruby-ee 1.8.7,rails 2.3.5和FreeBSD。
答案 0 :(得分:2)
原来这是一个FreeBSD内核错误。我们正在慢慢地在Phusion Passenger代码库中添加更多变通方法来解决这个问题。