2017-06-19 17 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

謝謝,就是這樣。有時候有人認爲他很聰明,但這已被證明不是! –