systemd:起動要求が早すぎます。

systemd:起動要求が早すぎます。

端末でこのコマンドを実行すると正常に動作します。

bundle exec /home/ubuntu/.rbenv/shims/puma -C /var/www/html/mysite/config/puma.rb

ExecStartただし、システムサービスユニットファイルに入れると、次のようになります。

[Unit]
Description=Puma Application HTTP Server
After=network.target

[Service]
Type=simple
WorkingDirectory=/var/www/html/mysite

ExecStart=bundle exec /home/ubuntu/.rbenv/shims/puma -C /var/www/html/mysite/config/puma.rb


Restart=always

[Install]
WantedBy=multi-user.target

エラーが発生します。

実行可能ファイルのパスが絶対パスではありません: Bundle exec /home/ubuntu/.rbenv/sh

コマンドが「bundle exec」の代わりに絶対パスで始まるべきだと文句を言うようです。だから私はこれを試してみます:

ExecStart=/bin/bash -lc 'bundle exec /home/ubuntu/.rbenv/shims/puma -C /var/www/html/mysite/config/puma.rb'

systemctl daemon-reloadとsystemctl start puma-mysiteを実行すると、次のエラーが発生します。

Jan 03 00:07:53 ip-10-0-1-133 systemd[1]: puma-mysite.service: 起動要求が速すぎました。

1月3日 00:07:53 ip-10-0-1-133 systemd[1]: puma-mysite.service: 「終了コード」のため失敗しました。

Jan 03 00:07:53 ip-10-0-1-133 systemd[1]: Puma アプリケーション HTTP サーバーを起動できません。

コマンドはSystemDの外部で動作するため、これはSystemDの問題のようです。

ベストアンサー1

また、バンドルコマンドに絶対パスを提供して機能するようにしました。

ExecStart=/home/ubuntu/.rbenv/shims/bundle exec /home/ubuntu/.rbenv/shims/puma -C /var/www/html/mysite/config/puma.rb

おすすめ記事