質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

2943閲覧

unicornでbundler: failed to load command: unicorn_railsが解決できない

moai891

総合スコア9

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/07/12 04:55

capistranoでunicornの起動中にエラーが生じます。タイトルの通りfailed to load commandエラーが発生しているのですが、原因と解決法が分からず止まってしましいました。ご助言頂ければ幸いです。

  • 環境

Rails 6.3.1
ruby 2.7.1
unicorn 5.4.1

log/unicorn.stderr.logは作成されていないのですが、myapp/currentディレクトリでunicornを起動しても同様のエラーが吐き出されます。

個人的に原因としては、エラー分の通り、unicornコマンドがインストールされていないという形になっていると思います。rubyのバージョンが2.7.1にも関わらず、2.7.0を読み込んでいることに違和感を感じるのですが、なぜunicornは2.7.0を読み込もうとしているか、また違う原因なのか分からない状態です。

また、別途エラーログにArgumentError: directory for pid=/var/www/myapp/releases/20200712025823/shared/tmp/pids/unic 。orn.pid not writableが記載されていますが、tmpディレクトリ配下はsudo chown -R username:username tmpで権限変更しております

  • エラー内容
bundle exec unicorn_rails -c config/unicorn.rb -E production -D bundler: failed to load command: unicorn_rails (/var/www/myapp/shared/bundle/ruby/2.7.0/bin/unicorn_rails) ArgumentError: directory for pid=/var/www/myapp/releases/20200712025823/shared/tmp/pids/unicorn.pid not writable /var/www/myapp/shared/bundle/ruby/2.7.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:100:in `block in reload' /var/www/myapp/shared/bundle/ruby/2.7.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:96:in `each' /var/www/myapp/shared/bundle/ruby/2.7.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:96:in `reload' /var/www/myapp/shared/bundle/ruby/2.7.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:77:in `initialize' /var/www/myapp/shared/bundle/ruby/2.7.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `new' /var/www/myapp/shared/bundle/ruby/2.7.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `initialize' /var/www/myapp/shared/bundle/ruby/2.7.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `new' /var/www/myapp/shared/bundle/ruby/2.7.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' /var/www/myapp/shared/bundle/ruby/2.7.0/bin/unicorn_rails:23:in `load' /var/www/myapp/shared/bundle/ruby/2.7.0/bin/unicorn_rails:23:in `<top (required)>' master failed to start, check stderr log for details

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

ご回答ありがとうございます。ご助言も参考にしながら解決できました。

結論、unicorn.rbの設定ミスでした・・・capistranoの設定に伴い、unicorn.rbの実行パスも変更しなければならない箇所の変更が漏れておりました。
結果、実行ディレクトリが見当たらないため、/shared/tmp/pids/unicorn.pid not writableエラーが吐き出されていたと考えられます。


サーバ上でのアプリケーションコードが設置されているディレクトリを変数に入れておく

変更前 app_path = File.expand_path('../../', __FILE__) 変更後 app_path = File.expand_path('../../../', __FILE__)

//アプリケーションの設置されているディレクトリを指定

変更前 working_directory app_path 変更後 working_directory "#{app_path}/current" # currentを指定

投稿2020/07/12 14:43

moai891

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

/shared/tmp/pids/unicorn.pid not writable とあるので、まずこのディレクトリに書き込み権限があるか確認すると良さそうです。他にも原因があるかもですが‥。

投稿2020/07/12 11:09

geeknees

総合スコア43

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問