2017-04-08 121 views
3

我部署項目,Capistrano的後無法啓動,但服務器重新啓動後彪馬不啓動..彪馬服務器重啓

我建議立即進行刪除辦 - >帽生產彪馬:啓動每次

我試着它:

/etc/init.d/myscript

#!/bin/sh 
/etc/init.d/puma_start.sh 

puma_start.sh

#!/bin/bash 
puma -C /root/project/shared/puma.rb 

,但是,我有錯誤

/usr/local/rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems.rb:270:in `find_spec_for_exe': can't find gem puma (>= 0.a) (Gem::GemNotFoundException) 
    from /usr/local/rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems.rb:298:in `activate_bin_path' 
    from /usr/local/rvm/gems/[email protected]/bin/puma:22:in `<main>' 
    from /usr/local/rvm/gems/[email protected]/bin/ruby_executable_hooks:15:in `eval' 
    from /usr/local/rvm/gems/[email protected]/bin/ruby_executable_hooks:15:in `<main>' 

如果我把在控制檯[email protected]:~# puma -C /root/project/shared/puma.rb它的工作,和所有的好。

我覺得我有不正確的路徑寶石彪馬

我該怎麼辦彪馬自動啓動服務器重新啓動後
謝謝

+0

我也有過類似的問題,與啓動腳本之一。這是由於同樣的錯誤,「未找到寶石」。我通過顯式傳遞rvm gemset路徑並從那裏執行gem來解決它。 像這樣,'#{HOME_PATH}/.rvm/wrappers/[email protected]_repo/bundle exec耙' –

+1

一些更多的研究,並發現這個美洲獅工具。它可以滿足你的需求。 https://github.com/puma/puma/tree/master/tools/jungle/init.d 它會運行美洲獅作爲惡魔服務,也將啓動服務器啓動 –

+0

好吧,我創建文件'美洲獅'進入'/etc/init.d'和'run-puma'放入'/ usr/local/bin'中,並將'CONFIG =/root/project/shared/puma.rb'放入puma文件中。有(*狀態彪馬機架網絡服務器美洲獅* - >#!/ usr/bin/env不存在)..我不會渾身溼透(puma -C /root/project/shared/puma.rb) –

回答

0

我發現這個http://codepany.com/blog/rails-5-puma-capistrano-nginx-jungle-upstart/

這是幫助我 - >

cd ~ 
$ wget https://raw.githubusercontent.com/puma/puma/master/tools/jungle/upstart/puma-manager.conf 
$ wget https://raw.githubusercontent.com/puma/puma/master/tools/jungle/upstart/puma.conf 

打開下載的文件puma.conf併爲SETU系統的用戶賬號id和setguid。 (在我們的例子中,我們使用root帳戶,但建議使用,不太具有特權的賬戶):

vim puma.conf 

setuid root 
setgid root 

移動下載新貴文件到/ etc/init和創建另一個puma.conf

$ sudo cp puma.conf puma-manager.conf /etc/init 
$ sudo touch /etc/puma.conf 

打開/etc/puma.conf和路徑添加到應用程序:

/root/name_of_your_app/current 

打開/etc/init/puma.conf,並找到類似的東西

exec bundle exec puma -C /root/project/shared/puma.rb 

和替換文件puma.rb

路徑謝謝