Passenger + Nginx => 502 Bad Gateway
8,390
Solution 1
Turns out it was a passenger + sqlite + nginx + unix permissions problem.
I "solved" it by migrating to MySQL
Solution 2
You can get a 502 error like this from nginx when you don't have the proper permissions set on an SQLite database.
Related videos on Youtube
Comments
-
rb2k over 1 year
I'm trying to run a relatively simple rails app (http:// www.enkiblog.com/) and it kinda works. The comments and the admin interface only work when I use "script/ server -e production" and connect to Port 3000 (still in production mode though).
Nginx will have this in his 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
Any idea?
p.s. debian 5.0
-
Admin almost 13 yearsI'm having this same issue although not using SQLite - the problem only started when I upgraded to Rails 3.1. Any suggestions as to why>
-
Admin almost 13 yearsasset pipeline is my first suspect
-
Admin almost 13 yearsFor me it was the SQLite permissions
-
Admin almost 13 yearsseems there's a bug with the latest Rails 3.1 release candidate. Enabling threadsafe mode solves this in the short-term but it's a rack issue
-
-
rb2k almost 15 yearsAs I mentioned in my answer, that actually was the solution :) It seems to have something to do with the permissions passenger uses to spawn the interpreter threads. I tried basically anything but I couldn't chmod my way out of this