Ruby on rails 如何通过rvm和apache部署rails项目?
请帮忙解决这个问题 在ubuntu14上,我安装了apache2(带乘客模块)、rvm和多个版本的导轨。我尝试在本地主机或web上启动这些rails项目 我创建了两个gemeset:Ruby on rails 如何通过rvm和apache部署rails项目?,ruby-on-rails,apache,rvm,passenger,Ruby On Rails,Apache,Rvm,Passenger,请帮忙解决这个问题 在ubuntu14上,我安装了apache2(带乘客模块)、rvm和多个版本的导轨。我尝试在本地主机或web上启动这些rails项目 我创建了两个gemeset: md1@md1 /var/log/apache2 $ rvm gemset list_all gemsets for ruby-2.0.0-p643 (found in /home/md1/.rvm/gems/ruby-2.0.0-p643) (default) global proj_r4_0
md1@md1 /var/log/apache2 $ rvm gemset list_all
gemsets for ruby-2.0.0-p643 (found in /home/md1/.rvm/gems/ruby-2.0.0-p643)
(default)
global
proj_r4_0
gemsets for ruby-2.2.1 (found in /home/md1/.rvm/gems/ruby-2.2.1)
(default)
global
=> proj_r4
在我在rails 4.2.4上创建on/home/md1/rails/proj_r4项目之后
我在rails 4.0.0上创建on/home/md1/rails/proj_r4_0项目
我为每个项目创建文件.rvmrc,该文件包括:
rvm use 2.0.0@proj_r4
及
我的apache设置:
<VirtualHost *:80>
ServerAdmin prozaik81-2@yandex.ru
DocumentRoot /home/md1/rails/proj_r4/public
ServerName proj_r4.ru
RailsEnv production
<Directory /home/md1/rails/proj_r4/public>
Options FollowSymLinks
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin prozaik81-2@yandex.ru
DocumentRoot /home/md1/rails/proj_r4_0/public
ServerName proj_r4_0.ru
RailsEnv production
<Directory /home/md1/rails/proj_r4_0/public>
Options FollowSymLinks
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
127.0.0.1 localhost proj_r4.ru proj_r4_0.ru
我尝试在控制台中运行:
rake assets:precompile
并设置为config/application.rb
config.assets.initialize_on_precompile = false
但这并没有解决问题
还有apache日志:
[ 2015-11-08 23:04:18.3074 7652/7f46ff38d700 age/Cor/Req/CheckoutSession.cpp:253 ]: [Client 1-1] Cannot checkout session because a spawning error occurred. The identifier of the error is 747dc5c0. Please see earlier logs for details about the error.
App 7895 stdout:
App 7895 stdout:
[ 2015-11-08 23:06:49.4866 7652/7f47059f8700 age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/md1/rails/proj_r4: An error occured while starting up the preloader.
Error ID: eceeb28e
Error details saved to: /tmp/passenger-error-0tPkpl.html
Message from application: cannot load such file -- bundler/setup (LoadError)
/home/md1/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/home/md1/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54: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>'
[ 2015-11-08 23:06:49.5176 7652/7f46ff38d700 age/Cor/Req/CheckoutSession.cpp:253 ]: [Client 1-2] Cannot checkout session because a spawning error occurred. The identifier of the error is eceeb28e. Please see earlier logs for details about the error.
[2015-11-08 23:04:18.3074 7652/7f46ff38d700 age/Cor/Req/CheckoutSession.cpp:253]:[Client 1-1]无法签出会话,因为发生了生成错误。错误的标识符是747dc5c0。有关错误的详细信息,请参阅前面的日志。
App 7895标准件:
App 7895标准件:
[2015-11-08 23:06:49.4866 7652/7f47059f8700 age/Cor/App/Implementation.cpp:304]:无法生成应用程序/home/md1/rails/proj_r4的进程:启动预加载程序时出错。
错误ID:eceeb28e
错误详细信息保存到:/tmp/passenger-Error-0tPkpl.html
来自应用程序的消息:无法加载此类文件--捆绑程序/安装程序(LoadError)
/home/md1/.rvm/rubies/ruby-2.2.1/lib/ruby/site\u ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
/home/md1/.rvm/rubies/ruby-2.2.1/lib/ruby/site\u ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
/usr/lib/ruby/vendor\u ruby/phusion\u passenger/loader\u shared\u helpers.rb:430:in'activate\u gem'
/usr/lib/ruby/vendor\u ruby/phusion\u passenger/loader\u shared\u helpers.rb:297:in`block in run\u load\u path\u setup\u code'
/usr/lib/ruby/vendor\u ruby/phusion\u passenger/loader\u shared\u helpers.rb:435:in'running\u bundler'
/usr/lib/ruby/vendor\u ruby/phusion\u passenger/loader\u shared\u helpers.rb:296:in'run\u load\u path\u setup\u code'
/usr/share/passenger/helper脚本/rack preload.rb:100:in'preload_app'
/usr/share/passenger/helper脚本/rack preload.rb:156:in`'
/usr/share/passenger/helper脚本/rack preload.rb:30:in`'
/usr/share/passenger/helper脚本/rack preload.rb:29:in`'
[2015-11-08 23:06:49.5176 7652/7f46ff38d700 age/Cor/Req/CheckoutSession.cpp:253]:[Client 1-2]无法签出会话,因为发生了生成错误。错误的标识符是eceeb28e。有关错误的详细信息,请参阅前面的日志。
来自应用程序的消息:无法加载此类文件--捆绑程序/安装程序(加载错误)
看看这个,我猜你们可能会错过目标主机上的bundler gem。
尝试安装
gem安装bundler
为您的rvm环境手动
config.assets.initialize_on_precompile = false
[ 2015-11-08 23:04:18.3074 7652/7f46ff38d700 age/Cor/Req/CheckoutSession.cpp:253 ]: [Client 1-1] Cannot checkout session because a spawning error occurred. The identifier of the error is 747dc5c0. Please see earlier logs for details about the error.
App 7895 stdout:
App 7895 stdout:
[ 2015-11-08 23:06:49.4866 7652/7f47059f8700 age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/md1/rails/proj_r4: An error occured while starting up the preloader.
Error ID: eceeb28e
Error details saved to: /tmp/passenger-error-0tPkpl.html
Message from application: cannot load such file -- bundler/setup (LoadError)
/home/md1/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/home/md1/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54: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>'
[ 2015-11-08 23:06:49.5176 7652/7f46ff38d700 age/Cor/Req/CheckoutSession.cpp:253 ]: [Client 1-2] Cannot checkout session because a spawning error occurred. The identifier of the error is eceeb28e. Please see earlier logs for details about the error.