Nginx

乘客 + Nginx => 502 錯誤網關

  • June 17, 2009

我正在嘗試執行一個相對簡單的 Rails 應用程序(http://www.enkiblog.com/),它有點工作。只有當我使用“腳本/伺服器 -e 生產”並連接到埠 3000(儘管仍處於生產模式)時,評論和管理界面才有效。

Nginx 會在他的 error.log 中有這個:

2009/06/02 21:46:10 [error] 11536#0: *18 upstream prematurely closed
connection while reading response header from upstream, client:
85.180.23.43, server: *.marc-seeger.de, request: "GET /admin HTTP/
1.1", upstream: "unix:/tmp/passenger.11520/master/
helper_server.sock:", host: "www.marc-seeger.de"
*** Exception NoMethodError in application (undefined method `each'
for nil:NilClass) (process 14080):
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/rack/request_handler.rb:
85:in `process_request'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/abstract_request_handler.rb:
203:in `main_loop'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/railz/
application_spawner.rb:340:in `start_request_handler'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/railz/
application_spawner.rb:298:in `handle_spawn_application'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/utils.rb:181:in `safe_fork'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/railz/
application_spawner.rb:296:in `handle_spawn_application'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/abstract_server.rb:337:in
`__send__'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/abstract_server.rb:337:in
`main_loop'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/abstract_server.rb:187:in
`start_synchronously'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/abstract_server.rb:154:in
`start'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/railz/
application_spawner.rb:192:in `start'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/spawn_manager.rb:257:in
`spawn_rails_application'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/
abstract_server_collection.rb:126:in `lookup_or_add'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/spawn_manager.rb:251:in
`spawn_rails_application'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/
abstract_server_collection.rb:80:in `synchronize'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/
abstract_server_collection.rb:79:in `synchronize'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/spawn_manager.rb:250:in
`spawn_rails_application'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/spawn_manager.rb:153:in
`spawn_application'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/spawn_manager.rb:282:in
`handle_spawn_application'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/abstract_server.rb:337:in
`__send__'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/abstract_server.rb:337:in
`main_loop'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/lib/phusion_passenger/abstract_server.rb:187:in
`start_synchronously'
       from /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/
gems/passenger-2.2.2/bin/passenger-spawn-server:61
Error during failsafe response: closed stream

任何想法?

ps debian 5.0

原來這是一個乘客 + sqlite + nginx + unix 權限問題。

我通過遷移到 MySQL “解決”了它

當您沒有在 SQLite 數據庫上設置適當的權限時,您可能會從 nginx 收到這樣的 502 錯誤。

引用自:https://serverfault.com/questions/18145