在本地和 Heroku 上均可以运行
但是想练习使用 Nginx, Passenger, Capistrano 进行部署时却出现错误
/etc/nginx/sites-enabled/default 这里就用的 gorails 给的写法
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name 域名;
passenger_enabled on;
rails_env production;
root /home/deploy/myapp/current/public;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
/var/log/nginx/error.log
[ 2016-10-23 03:40:38.1167 24173/7fbabb218700 age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/deploy/myapp/current: An error occurred while starting up the preloader.
Error ID: de709b70
Error details saved to: /tmp/passenger-error-U7XDgA.html
Message from application: cannot load such file -- bundler/setup (LoadError)
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:430:in `activate_gem'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:297:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:435:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:296:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
[ 2016-10-23 03:40:38.1291 24173/7fbabc21a700 age/Cor/Con/CheckoutSession.cpp:285 ]: [Client 1-3] Cannot checkout session because a spawning error occurred. The identifier of the error is de709b70. Please see earlier logs for details about the error.
参考了论坛里如下几篇类似问题的解决方法,仍然没有悟道适合的办法
https://ruby-china.org/topics/30114
https://ruby-china.org/topics/22368
https://github.com/peatio/peatio/issues/225
麻烦诸位指点下
=====================================================================================
新错误提示:
在服务器上用 sudo service nginx restart 显示 ok 的,但是网页完全打不开了,显示 ERR_CONNECTION_REFUSED
04:37 passenger:restart
01 passenger-config restart-app /home/deploy/myapp --ignore-app-not-running
passenger-config stderr: *** ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it
is running, then the causes of this problem could be one of:
1. You customized the instance registry directory using Apache's
PassengerInstanceRegistryDir option, Nginx's
passenger_instance_registry_dir option, or Phusion Passenger Standalone's
--instance-registry-dir command line argument. If so, please set the
environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory
and run this command again.
2. The instance directory has been removed by an operating system background
service. Please set a different instance registry directory using Apache's
PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir
option, or Phusion Passenger Standalone's --instance-registry-dir command
line argument.
** DEPLOY FAILED
** Refer to log/capistrano.log for details. Here are the last 20 lines:
DEBUG [469b6021] PassengerInstanceRegistryDir option, Nginx's
DEBUG [469b6021]
DEBUG [469b6021] passenger_instance_registry_dir option, or Phusion Passenger Standalone's
DEBUG [469b6021]
DEBUG [469b6021] --instance-registry-dir command line argument. If so, please set the
DEBUG [469b6021]
DEBUG [469b6021] environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory
DEBUG [469b6021]
DEBUG [469b6021] and run this command again.
DEBUG [469b6021]
DEBUG [469b6021] 2. The instance directory has been removed by an operating system background
DEBUG [469b6021]
DEBUG [469b6021] service. Please set a different instance registry directory using Apache's
DEBUG [469b6021]
DEBUG [469b6021] PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir
DEBUG [469b6021]
DEBUG [469b6021] option, or Phusion Passenger Standalone's --instance-registry-dir command
DEBUG [469b6021]
DEBUG [469b6021] line argument.
DEBUG [469b6021]