Rails Unicorn Initスクリプトが実行されていません。Rubyは見つかりません
-
26-12-2019 - |
質問
ユニコーンをサービスとして実行するのに問題がある。"sudoサービスユニコーンの再起動"を呼び出すと、以下のエラーが発生します。
Appのルートディレクトリから '/ var / www / mysite / bin / unicorn -d -c /var/www/mysite/config/uww/mysite'を呼び出すと、それはちょうどいいです。そして、その後、「SUDO Service Unicorn Restart」と呼ぶこともできます。
あらゆる助けが大いに感謝されています!
ubuntu@ip:$ sudo service unicorn restart
Couldn't reload, starting '/var/www/mysite/bin/unicorn -D -c /var/www/mysite/config/unicorn.rb -E production' instead
/usr/bin/env: ruby: No such file or directory
.
システムがどのRubyを使用しているかを示す端末出力です。
ubuntu@ip:$ which ruby
/home/ubuntu/.rbenv/shims/ruby
.
Ubuntu 12.04で走っています。Rails 4、Ruby 2.1とNginx
解決
あなたの問題はあなたのRBENVのインストールがUbuntuユーザーにのみロードされるだけでなく、rootとしてUnicornを実行していることです。
rootユーザーにRBENVをインストールするか、それをグローバルにインストールすることができます。
他のヒント
私は同じ問題を持っていましたが、私はユーザーごとにRBENVをインストールしていました。 私はこの initスクリプトを使用しました
私は私のRBENVがユーザーごとにインストールされているので、これを少し変更する必要があることを考え出した:
CMD="cd $APP_ROOT; bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"
.
これで:
CMD="cd $APP_ROOT; ~/.rbenv/bin/rbenv exec bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"
.
それがあなたを助けることを願っています!
所属していません StackOverflow