OS:Centos 7
Snorbyをsystemdとして実行しようとしていますが、スクリプトが正しく起動していません
Snorbyフォルダーにいるときにコマンドラインでbundleexec Rails server -e development -b 0.0.0.0を問題なく実行できますが、スクリプトに入れてsystemctlで実行するとそうではありません正しく機能しています。
[Service] WorkingDirectory=/tmp/snorby Environment=Rails_ENV=development ExecStart=/usr/local/rbenv/shims/bundle exec Rails server -d -b 0.0.0.0
ステータス出力
snorby.service - Snorby ConfiServ
Loaded: loaded (/usr/lib/systemd/system/snorby.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Thu 2017-08-03 13:25:34 UTC; 1min 18s ago
Process: 5533 ExecStart=/usr/local/rbenv/shims/bundle exec Rails server -d -b 0.0.0.0 (code=exited, status=0/SUCCESS)
Main PID: 5533 (code=exited, status=0/SUCCESS)
Aug 03 13:25:32 TEST-02 systemd[1]:
Started Snorby ConfiServ.
Aug 03 13:25:32 TEST-02 systemd[1]:
Starting Snorby ConfiServ...
Aug 03 13:25:34 TEST-02 bundle[5533]:
/usr/local/rbenv/versions/2.3.1/lib/Ruby/gems/2.3.0/gems/actionpack-3.2.22/lib/action_dispatch/http/mime_type.rb:102: warning: already initialized constant Mime::PDF
Aug 03 13:25:34 TEST-02 bundle[5533]:
/usr/local/rbenv/versions/2.3.1/lib/Ruby/gems/2.3.0/gems/actionpack-3.2.22/lib/action_dispatch/http/mime_type.rb:102: warning: previous definition of PDF was here
Aug 03 13:25:34 TEST-02 bundle[5533]:
No time_zone specified in snorby_config.yml; detected time_zone: UTC
Aug 03 13:25:34 TEST-02 bundle[5533]: => Booting Thin
Aug 03 13:25:34 TEST-02 bundle[5533]: => Rails 3.2.22 application starting in development on http://0.0.0.0:3000
私の場合、以下のようにスクリプトの前に「bash-l」を使用すると機能しました。
ExecStart =/bin/bash -l'your Ruby command or script '
Centos7にはsystemdでのRuby環境変数のロードに問題があると思います。ただし、-lオプションなしでubuntuで動作しました。