2017-06-19 61 views
1

我用puma和systemd将我的头撞在墙上。我使用工头设置我的systemd文件,但不能从重启循环中取出美洲狮。 Ubuntu 16.Systemd和Puma在无限启动循环中

Jun 19 02:48:12 ip-172-31-28-225 systemd[1]: Stopped rajlogviewer-web.service. 
Jun 19 02:48:12 ip-172-31-28-225 systemd[1]: Started rajlogviewer-web.service. 
Jun 19 02:48:12 ip-172-31-28-225 rajlogviewer-web.service[8954]: APP_DIR = /home/ubuntu/rajlogviewer, SHARED_DIR /home/ubuntu/rajlogviewer/shared 
Jun 19 02:48:12 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] Puma starting in cluster mode... 
Jun 19 02:48:12 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] * Version 3.6.0 (ruby 2.3.3-p222), codename: Sleepy Sunday Serenity 
Jun 19 02:48:12 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] * Min threads: 1, max threads: 6 
Jun 19 02:48:12 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] * Environment: production 
Jun 19 02:48:12 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] * Process workers: 2 
Jun 19 02:48:12 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] * Preloading application 
Jun 19 02:48:14 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] * Listening on tcp://0.0.0.0:3000 
Jun 19 02:48:14 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] * Listening on unix:///home/ubuntu/rajlogviewer/shared/tmp/sockets/puma.sock 
Jun 19 02:48:14 ip-172-31-28-225 rajlogviewer-web.service[8954]: [8954] * Daemonizing... 
Jun 19 02:48:24 ip-172-31-28-225 systemd[1]: rajlogviewer-web.service: Service hold-off time over, scheduling restart. 
Jun 19 02:48:24 ip-172-31-28-225 systemd[1]: Stopped rajlogviewer-web.service. 
Jun 19 02:48:24 ip-172-31-28-225 systemd[1]: Started rajlogviewer-web.service. 

它只是无限期地重新启动。这是我的systemd初始化文件 /etc/systemd/system/rajlogviewer-web.service

[Service] 
User=ubuntu 
WorkingDirectory=/home/ubuntu/rajlogviewer/current 
#Environment=PATH=/home/ubuntu/.rvm/gems/[email protected]/bin:$PATH 
WorkingDirectory=/home/ubuntu/rajlogviewer/current/ 
ExecStart=/bin/bash -lc 'PATH=/home/ubuntu/.rvm/gems/[email protected]/bin:$PATH exec /home/ubuntu/.rvm/bin/rvm ruby-2.3.3 do bundle exec puma -C /home/ubuntu/rajlogviewer 
/shared/config/puma.rb --daemon' 
Restart=no 
RestartSec=10 
StandardInput=null 
StandardOutput=syslog 
StandardError=syslog 
SyslogIdentifier=%n 
KillMode=mixed 
TimeoutStopSec=5 

该应用程序在5秒开机时通常靴子“帽生产彪马:启动”,这工作的,所以RestartSec = 10应该工作。使它20秒没有区别。

没有什么有趣的puma.stderr.log和puma.stdout.log。

任何想法?

回答

1

您应该删除从systemd​​选项,有几种类型单位:

配置影响ExecStart和相关选项的 功能单元处理的启动类型。其中之一:

简单 - 默认值。以ExecStart开始的进程是服务的主进程 。

forking - 以ExecStart开始的进程产生一个 子进程,该子进程成为该服务的主进程。当启动完成时,父级 进程退出。

单稳 - 这种类型是 类似于简单,但随之而来的开始单元 前的过程退出。 dbus - 此类型与简单类似,但后续单元 仅在主进程获得D总线名称后才启动。

通知 - 此 类型类似于简单,但只 之后经由sd_notify()函数发送的通知消息随之单元被启动。

空闲 - 类似简单,服务二进制文件的实际执行 延迟,直到所有作业完成,从而避免了混合服务的壳输出状态 输出。

的默认值是简单,彪马配置的缘故使用​​选项它与systemd配置矛盾。

+0

谢谢,就是这样。有时候有人认为他很聪明,但这已被证明不是! –