2017-04-08 57 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

路径谢谢