我已成功部署了一个Rails 4,Puma,Nginx应用程序,使用Capistrano。当我执行
我在DigitalOcean上使用Debian 8。看起来Debian 8使用
cap production deploy
时,一切都很顺利。我的问题是,如果服务器由于任何原因重新启动或崩溃,它不会重新启动。我在DigitalOcean上使用Debian 8。看起来Debian 8使用
systemd
,所以我按照Puma的说明进行了操作,但没有成功。经过一些研究,我发现了一些更多的脚本,而最明智的脚本似乎是这个:[Unit]
Description=Rails-Puma Webserver
[Service]
Type=simple
User=myuser
WorkingDirectory=/home/myuser/apps/myapp
ExecStart=/home/myuser/.rvm/rubies/ruby-2.2.2/bin/systemd_rails server -e production
TimeoutSec=15
Restart=always
[Install]
WantedBy=multi-user.target
我已经将上述文件保存在/etc/systemd/system/rails-puma.service
中,然后启用它:sudo systemctl enable rails.service
,最后启动它:sudo systemctl start rails-puma.service
不幸的是,这并没有起作用。 这是sudo systemctl status rails-puma.service
的结果:
● rails-puma.service - Rails-Puma Webserver
Loaded: loaded (/etc/systemd/system/rails-puma.service; enabled)
Active: failed (Result: start-limit) since Thu 2016-07-07 12:11:58 EDT; 4s ago
Process: 4373 ExecStart=/home/myuser/.rvm/rubies/ruby-2.2.2/bin/systemd_rails server -e production (code=exited, status=203/EXEC)
Main PID: 4373 (code=exited, status=203/EXEC)
Jul 07 12:11:58 mrcProd systemd[1]: rails-puma.service: main process exited, code=exited, status=203/EXEC
Jul 07 12:11:58 mrcProd systemd[1]: Unit rails-puma.service entered failed state.
Jul 07 12:11:58 mrcProd systemd[1]: rails-puma.service start request repeated too quickly, refusing to start.
Jul 07 12:11:58 mrcProd systemd[1]: Failed to start Rails-Puma Webserver.
Jul 07 12:11:58 mrcProd systemd[1]: Unit rails-puma.service entered failed state.
我在这里做错了什么?
/var/myapp/current/log/puma.error
文件,它没有显示任何与启动/停止相关的内容。我猜想如果应用程序没有运行,这个文件就不会被使用,但是我不知道systemd的日志文件存放在哪里... - WagnerMatosUK/home/myuser/.rvm/rubies/ruby-2.2.2/bin/systemd_rails server -e production
会发生什么? - Wikiti