3

在带有 Apache2 的 slicehost 的 Ubuntu hardy slice 上升级到 Rails 2.3.2 和 Passenger 2.2.4

我在系统 /var/logs/apache2/ 的 Apache error.log 中遇到了与上述相同的错误

[ pid=4249 文件=ext/apache2/Hooks.cpp:638 时间=2009-07-04
11:47:32.752]:
  内部没有从后端应用程序(进程 4383)接收到数据
45000 毫秒。后端应用程序被冻结,或者您的 TimeOut
45 秒的值太低。请检查您的申请是否
被冻结,或增加 TimeOut 配置的值
指示。
*** 异常 Errno::EPIPE 在乘客请求处理程序(断管)
(过程 4391):
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/rack/request_handler.rb:93:in `write'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/rack/request_handler.rb:93:in `process_request'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_request_handler.rb:206:in `main_loop'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/railz/application_spawner.rb:376:in
`start_request_handler'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/railz/application_spawner.rb:334:in
`handle_spawn_application'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/utils.rb:182:in `safe_fork'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/railz/application_spawner.rb:332:in
`handle_spawn_application'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:351:in `__send__'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:351:in `main_loop'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:195:in `start_synchronously'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:162:在“开始”中
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/railz/application_spawner.rb:213:in `start'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/spawn_manager.rb:261:in `spawn_rails_application'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server_collection.rb:80:在“同步”中
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server_collection.rb:79:在“同步”中
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/spawn_manager.rb:254:in `spawn_rails_application'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/spawn_manager.rb:153:in `spawn_application'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/spawn_manager.rb:286:in `handle_spawn_application'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:351:in `__send__'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:351:in `main_loop'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:195:in `start_synchronously'
        来自 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/bin/passenger-spawn-
服务器:61
*** 异常 Errno::EPIPE 在乘客请求处理程序(断管)
(过程 4383):

还有这些。

pid=4362 文件=ext/apache2/Hooks.cpp:638 时间=2009-07-04
11:55:19.251]:
  内部没有从后端应用程序(进程 4383)接收到数据
45000 毫秒。后端应用程序被冻结,或者您的 TimeOut
45 秒的值太低。请检查您的申请是否
被冻结,或增加 TimeOut 配置的值
指示。
[ pid=4298 文件=ext/apache2/Hooks.cpp:638 时间=2009-07-04
11:55:19.255]:
  内部没有从后端应用程序(过程 4252)接收到数据
45000 毫秒。后端应用程序被冻结,或者您的 TimeOut
45 秒的值太低。请检查您的申请是否
被冻结,或增加 TimeOut 配置的值
指示。
[2009 年 7 月 4 日星期六 11:55:19] [错误] [客户端 86.96.226.13] 过早结束
脚本头数:41,引用者:http://domain.com/
[ pid=4373 文件=ext/apache2/Hooks.cpp:638 时间=2009-07-04
11:55:19.559]:

它让我生气,在浏览器上,有时它的显示和刷新时,应用程序错误 500 经常出现。有什么方向吗??

4

4 回答 4

3

看起来您遇到的错误已合并到乘客主服务器中但尚未发布。您可以通过从以下存储库中检出乘客来尝试一下:

http://github.com/FooBarWidget/passenger/tree/master

一旦你检查了它,你想运行:

./bin/passenger-install-apache2-module

对于 Apache 乘客,或:

./bin/passenger-install-nginx-module

对于 Nginx 乘客。由于已解决此特定问题,因此它应该对您有用。

于 2009-07-05T03:17:33.403 回答
1

我也遇到了这个问题,并通过从乘客 2.1.2 升级到乘客 2.2.15 来解决它。

需要明确的是,这不是铁路问题,而是乘客错误。

错误日志输出:

[ pid=13571 file=Hooks.cpp:508 time=2010-04-28 17:46:16.878 ]:
  Backend process 22235 did not return a valid HTTP response. It returned no data.
*** Exception Errno::EPIPE in Passenger RequestHandler (Broken pipe) (process 22235):
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.1.2/lib/phusion_passenger/rack/request_handler.rb:67:in `write'
于 2010-06-25T17:11:37.770 回答
0

我更新到乘客版本 2.2.7 虽然这个错误仍然发生。我发现更新TimeOutKeepAliveTimeout在我的 Apache 配置中似乎可以解决问题。(它们分别从 1 和 2 变为 10 和 20)。希望对某人有所帮助!

于 2009-11-30T17:09:58.977 回答
0

我刚碰到这个。事实证明,这是服务器上 DNS 损坏的症状。我认为它的名称服务器由于飓风桑迪而离线。因此,如果您遇到此问题,请检查您的 Internet 名称解析是否正常工作!

于 2012-10-30T16:43:30.687 回答