简体   繁体   中英

Rails, RVM, Apache, Passenger error - SpawnManager Permissions Denied in 2.3.11

I'm getting the following error using Passenger. This seems to only be a problem when using 2.3.11. How can I fix this?

*** Passenger ERROR (ext/common/ApplicationPool/../SpawnManager.h:220):
Could not start the spawn server: /Users/oprogfrogo/.rvm/bin/ruby-1.8.7-p334@2311: Permission denied (13)
[ pid=565 thr=0x7fff70bedcc0 file=ext/apache2/Hooks.cpp:864 time=2011-06-24 08:19:03.845 ]: Unexpected error in mod_passenger: Cannot spawn application '/Users/oprogfrogo/Documents/eclipse_workspace/contracts': Could not write 'spawn_application' command to the spawn server: Broken pipe (32)
  Backtrace:
     in 'virtual Passenger::SessionPtr Passenger::ApplicationPool::Client::get(const Passenger::PoolOptions&)' (Client.h:750)
     in 'Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)' (Hooks.cpp:297)
     in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:566)

Permission denied. I would look into two places

  1. Check the permissions on the application directory.
  2. Check the path in the apache config file, eg should be to the public directory of the app.

Try Again

Seems the problem is with rvm. Are you using a different ruby library for this 2.3.11 app?

References

3 Good suggestions at: http://www.modrails.com/documentation/Users%20guide%20Apache.html#_the_apache_error_log_says_that_the_spawn_manager_script_does_not_exist_or_that_it_does_not_have_permission_to_execute_it

natedavisolds, looks like it was the ruby library after all. I changed a config in my httpd.conf. It appears I was referencing the wrong location of ruby:

Before:
PassengerRuby /Users/oprogfrogo/.rvm/bin/ruby-1.8.7-p334@2311 

After:
PassengerRuby /Users/oprogfrogo/.rvm/wrappers/ruby-1.8.7-p334@2311/ruby

natedavisolds & eveevans, thank you for taking the time to reply back to me quickly.

I was facing same issue when for first time I was trying to deploy an application on EC2 using passenger and nginx with rvm. My mistake was I installed passenger and nginx using sudo, so there was issue regarding permissions.
I removed that installation and did rvmsudo passenger-install-nginx-module
You can refer to similar issue here .
Initially my nginx.conf file was at /etc/nginx/nginx.conf , after installation using rvmsudo it was at /opt/nginx/conf/nginx.conf

I hope this will be useful for someone.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM