[英]how deploy rails-project via rvm and apache?
請幫助解決問題。
在ubuntu14上,我安裝apache2(帶有乘客模塊),rvm和多個版本的rails。 我嘗試在本地主機或網絡上啟動這些rails-projects。
我創建了兩個寶石集:
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的/ home / md1 / rails / proj_r4項目上創建並且在Rails 4.0.0的/ home / md1 / rails / proj_r4_0項目上創建之后
對於每個項目,我創建文件.rvmrc,其中包括:
rvm use 2.0.0@proj_r4
和
rvm use 2.2.1@proj_r4_0
我對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
但在地址/ home / md1 / rails / proj_r4和/ home / md1 / rails / proj_r4_0上,我看到以下錯誤消息:
我們很抱歉,但有些不對勁。
我們已收到有關此問題的通知,我們將盡快對其進行研究。 本網站管理員的信息
Phusion Passenger應用程序服務器在啟動Web應用程序時遇到錯誤。 由於您正在暫存或生產模式下運行此Web應用程序,因此出於安全原因已從該網頁中省略了錯誤的詳細信息。
請閱讀乘客日志文件以查找錯誤的詳細信息。
另外,您可以打開“友好的錯誤頁面”功能(見下文),這將使Phusion Passenger在瀏覽器中直接顯示許多有關錯誤的詳細信息。
要打開友好的錯誤頁面:
Nginx integration mode Apache integration mode Standalone mode
我嘗試在控制台中運行:
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.
Message from application: cannot load such file -- bundler/setup (LoadError)
看着這個,我想您會以某種方式錯過目標主機上的捆綁程序gem。 嘗試安裝
gem install bundler
為您的rvm環境手動設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.