Unicornの起動で Run `bundle install`というCould not findなエラーの時

自分の趣味のサイトを

Ubuntu + Nginx + Unicorn + Sinatra

で作っていて、色々なサイトを参考にさせていただいて、Unicornの起動→サイトの表示は下記コマンドで出来るようになりました。

bundle exec unicorn -c [app名] -D

でも再起動するたびにこのコマンド入力するのは正直めんどくさい。

だから/etc/init.dに起動スクリプト書いて、Unicornの自動起動にされている方がほとんどです。

(参考)

それで僕も真似してしてみるんですが・・・

起動スクリプト書いて、実行してみたら・・・

Could not find concurrent-ruby-1.1.3 in any of the sources
Run `bundle install` to install missing gems.

とか、エラーが出てしまって自動起動は解決できないでいました。

正直全く分からなくて諦めていたのですが

どのページだったのか忘れてしまって紹介できなくて申し訳ないですが、

スクリプトの下記部分、

start() {
  (省略)
  su - ${USER} -c "cd ${SINATRA_ROOT_DIR} && bundle exec unicorn -c ${UNICORN_CONF} -E ${SINATRA_ENV} -D ${OPTIONS}"
  (省略)
}

start() {
  (省略)
  su - ${USER} -c "cd ${SINATRA_ROOT_DIR} && /home/ユーザ名/.rbenv/shims/bundle exec unicorn -c ${UNICORN_CONF} -E ${SINATRA_ENV} -D ${OPTIONS}"
  (省略)
}

したら上手くいきました。

bundle exec の bundleをフルパス指定するだけでした。

こういう起動スクリプトの作り方もあったのかと思ったサイト

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください