現状
Railsで作成したアプリをAWS似て手動デプロイを行い 「db:create→db:migrate」まで完了しました。
しかし、 bundle exec unicorn_rails -c config/unicorn.rb -E production -D
を実行するとエラーが発生。
Google検索し開発環境含め1日試しましたが解決できず。
ほぼ同じ内容の質問(https://teratail.com/questions/229963
)がありましたが私自身の理解が及ばず・・・。
誠に申し訳ございませんがご教授頂ければ幸いです。
※Capistranoでのデプロイは後々できるようにする予定です。
エラー文
[[ec2-user@・・・ リポジトリ名]$ bundle exec unicorn_rails -c config/unicorn.rb -E production -D bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.5.1/bin/unicorn_rails) ArgumentError: config_file=config/unicorn.rb would not be accessible in working_directory=/var/www/current /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn5.4.1/lib/unicorn/configurator.rb:592:in`working_directory' config/unicorn.rb:8:in `reload' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `instance_eval' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `reload' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:77:in `initialize' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `new' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `initialize' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `new' /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' /home/ec2-user/.rbenv/versions/2.5.1/bin/unicorn_rails:23:in `load' /home/ec2-user/.rbenv/versions/2.5.1/bin/unicorn_rails:23:in `<top (required)>' master failed to start, check stderr log for details
検証したこと
* bundlerが指摘されていたので下記記事を参考にversionのミスマッチがないか確認するもversionは問題なし。 参考URL「https://qiita.com/dossy/items/423f0b5124b9d2d28cb1」 * エラーログを記録するようにしていたのでを確認する 。 config/unicorn.rb```内に```stderr_path "#{app_path}/shared/log/unicorn.stderr.log"と記載していたので確認するも [ec2-user@・・・ リポジトリ名]$ less log/unicorn.stderr.log /log/unicorn.stderr.log: そのようなファイルやディレクトリはありません```とエラーでログを確認できず。 [ec2-user@・・・ リポジトリ名]$ less shared/log/unicorn.stderr.log shared/log/unicorn.stderr.log: そのようなファイルやディレクトリはありません ```
#サーバ上でのアプリケーションコードが設置されているディレクトリを変数に入れておく
app_path = File.expand_path('../../../', FILE)
#アプリケーションサーバの性能を決定する
worker_processes 1
#アプリケーションの設置されているディレクトリを指定
working_directory "#{app_path}/current"
#Unicornの起動に必要なファイルの設置場所を指定
pid "#{app_path}/shared/tmp/pids/unicorn.pid"
#ポート番号を指定
listen "#{app_path}/shared/tmp/sockets/unicorn.sock"
#エラーのログを記録するファイルを指定
stderr_path "#{app_path}/shared/log/unicorn.stderr.log"
#通常のログを記録するファイルを指定
stdout_path "#{app_path}/shared/log/unicorn.stdout.log"
#開発環境 * Bundler version 2.1.4 * ruby 2.5.1 * Rails 5.2.4.2 * macOS Catalina バージョン10.15.3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。