PhusionPassenger : Ruby (Rack) application could n

2019-08-19 05:58发布

问题:

I am new to rails developer,I have deploy rails application on my server. But now it is not started and giving error on browser as below :

Error message:

There was an error while trying to write to Gemfile.lock. It is likely that you need to allow write permissions for the file at path: /var/www/PCMI/zil/Gemfile.lock (Bundler::InstallError)

Exception class:

PhusionPassenger::UnknownError

Application root:

/var/www/PCMI/zil 

Backtrace:

0  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/bundler-1.2.0/lib/       bundler/definition.rb  238  in `rescue in lock'

1  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/bundler-1.2.0/lib/bundler/definition.rb 223     in `lock'

2   /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/bundler-1.2.0/lib/bundler/environment.rb   39  in `lock'

3   /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/bundler-1.2.0/lib/bundler/runtime.rb   39  in `setup'

4   /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/bundler-1.2.0/lib/bundler.rb   116     in `setup'

5   /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb    326     in `prepare_app_process'

6   /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb     156     in `block in initialize_server'

7   /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb    563     in `report_app_init_status'

8   /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb     154     in `initialize_server'

9   /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb  204     in `start_synchronously'

10  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb  180     in `start'

11  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb     129     in `start'

12  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb    253     in `block (2 levels) in spawn_rack_application'

13  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb   132     in `lookup_or_add'

14  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb    246     in `block in spawn_rack_application'

15  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb   82  in `block in synchronize'

16  < td=""> <> prelude>    10:in `synchronize'

17  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb   79  in `synchronize'

18  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb    244     in `spawn_rack_application'

19  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb    137     in `spawn_application'

20  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb    275     in `handle_spawn_application'

21  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb  357     in `server_main_loop'

22  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb  206     in `start_synchronously'

23  /usr/local/rvm/gems/ruby-1.9.3-p125@domain_name/gems/passenger-3.0.17/helper-scripts/passenger-spawn-server     99  in `'

Please check error displayed into browser.Please help me for my problem. Thanks.

回答1:

It looks like passenger can't write to the lock file for your gem file. Basically it can't be sure your not running bundled because it can't get an exclusive lock on that file.

Make sure the user passenger is running under (apache defaults to www-data) has write permission on that file.

You can do this by using chown and chmod