我能找到的唯一错误是dmesg
[ 603.598951] init: thx4-web-1 main process ended, respawning
[ 603.607935] init: thx4-web-1 main process (3901) terminated with status 127
[ 603.607988] init: thx4-web-1 main process ended, respawning
[ 603.616866] init: thx4-web-1 main process (3903) terminated with status 127
[ 603.616917] init: thx4-web-1 respawning too fast, stopped
操作系统:Debian 7,chruby(2.1.2),暴发户(1.6.1-1)和领班(0.74.0)
只有一个进程,以简化Procfile.staging中的调试过程:
web: RAILS_ENV=staging bundle exec puma -e staging -C config/puma.rb
工头生成的文件:
# /etc/init/thx4.conf
start on runlevel [2345]
stop on runlevel [!2345]
# /etc/init/thx4-web.conf
start on starting thx4
stop on stopping thx4
# /etc/init/thx4-web-1.conf
start on starting thx4-web
stop on stopping thx4-web
respawn
env PORT=5000
setuid deployer
chdir /home/deployer/apps/thx4/releases/20140707183433
exec RAILS_ENV=staging bundle exec puma -e staging -C config/puma.rb
当我在app文件夹中运行$ foreman start -f Procfile.staging
时,一切正常。
答案 0 :(得分:5)
Upstart使用/var/log/upstart/your-service-name.log中的相同名称将您的服务执行记录在日志文件中。它应该会有所帮助。
答案 1 :(得分:1)
如果你想控制重生间隔,请在“respawn”行之后添加这样的内容“:
# Please note that you need both "respawn" and "respawn limit".
# The second line will attempt to respawn no more than 3 times,
# waiting 5 seconds between respawns.
respawn
respawn limit 3 5
但是,我不认为这会有所帮助。 Bash状态代码127表示“未找到命令”。也许你的宝石没有为这种环境正确设置?
您可以在this SO answer中找到有关错误#127的更多详细信息。
答案 2 :(得分:0)
我是如何解决的:
我在项目根目录
中创建了一个.env文件# .env
PATH=/home/user/.gem/ruby/2.1.2/bin:/home/user/.rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/bin:/home/user/.rubies/ruby-2.1.2/bin:
RAILS_ENV=staging
# Procfile
web: bundle exec puma -e staging -C config/puma.rb
导出的文件:
# /etc/init/app-web-1.conf
start on starting app-web
stop on stopping app-web
respawn
env PORT=5000
env PATH='/home/user/.gem/ruby/2.1.2/bin:/home/user/.rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/bin:/home/user/.rubies/ruby-2.1.2/bin'
env RAILS_ENV='staging'
setuid user
chdir /home/user/apps/app/releases/20140709064220
exec bundle exec puma -e staging -C config/puma.rb
重要强>
我不得不以root身份安装gem bundler(我不知道),就像我在这里与工头一样:https://github.com/postmodern/chruby/issues/276
$ sudo chruby-exec ruby-2.1.2 -- gem install bundler