问题描述
我有一个 Ubuntu 14 服务器,我在其中运行 Ruby on Rails 应用程序,我想创建一个服务,该服务将在重新启动时自动启动 Rails 服务器。这个服务应该允许我在后台运行 Puma 服务器,作为一个守护进程。
直到后来apt-get update & apt-get upgrade
我才能运行:
bundle exec puma -C config/puma.rb -b unix:/home/appname/site/shared/tmp/sockets/appname-puma.sock -d
-d
(守护进程)允许我在后台运行该进程,但现在此标志不再可用。如果我在启动服务器时添加:-d
标志,Puma 将不会启动。
遵循本教程:https://gist.github.com/0x263b/683c5d09b1cbf4240884491696eb5e46
我创建了以下文件:/etc/ini/puma-manager.conf
description "Manages the set of puma processes"
# This starts upon bootup and stops on shutdown
start on runlevel [2345]
stop on runlevel [06]
pre-start script
logger -t "puma-manager" "Starting Rails APP"
cd /home/appname/site/current
exec bundle exec puma -C config/puma.rb -b unix:/home/appname/site/shared/tmp/sockets/appname-puma.sock
end script
当我运行时:service puma-manager start
我收到以下错误:Job Failed to start
我也尝试使用 sudo 运行,但收到相同的消息。
在:/var/log/upstart/puma-manager.log
我看到错误:
/proc/self/fd/9: 4: cd: can't cd to /home/appname/site/current
即使我为 cd 输入了不同的有效路径,也会出现同样的错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)