Nginx
乘客 + Nginx => 502 錯誤網關
我正在嘗試執行一個相對簡單的 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 錯誤。