🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
unicorn

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

Ruby on Rails 6

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

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

1552閲覧

【Rails/EC2 】502 Bad Gatewayと表示される【Unicorn/Nginx】

pay_561

総合スコア26

unicorn

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

Ruby on Rails 6

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

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2021/03/22 01:53

編集2021/03/23 01:11

##前提・困っていること
現在RailsアプリをAWS上にデプロイをしたいのですが、サーバー関連で詰まっています。

EC2上にUnicornとNginxを導入したのですが「502 Bad Gateway」とブラウザに表示されています。

EC2のセキュリティグループは下記になります。
イメージ説明

ご教授いただけましたら幸いです。

Nginxの設定ファイル

upstream unicorn { server unix:/sample-app/src/tmp/unicorn.sock; } server { listen 80; server_name ☓☓☓☓☓☓☓; access_log /var/log/nginx/qiita_access.log; error_log /var/log/nginx/qiita_error.log; root /sample-app; client_max_body_size 100m; error_page 404 /404.html; error_page 500 502 503 504 /500.html; try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://unicorn; } }

Unicornの設定ファイル

worker_processes 4 listen File.expand_path('tmp/unicorn.sock') pid File.expand_path('tmp/unicorn.pid') stderr_path File.expand_path('log/unicorn.log') stdout_path File.expand_path('log/unicorn.log') preload_app true before_fork do |server, worker| Signal.trap 'TERM' do puts 'Unicorn master intercepting TERM and sending myself QUIT instead' Process.kill 'QUIT', Process.pid end defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! end after_fork do |server, worker| Signal.trap 'TERM' do puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT' end defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end

##追記
unicorn.log

I, [2021-03-21T23:52:34.461522 #26347] INFO -- : Refreshing Gem list I, [2021-03-21T23:52:35.256972 #26347] INFO -- : listening on addr=/home/ec2-user/game-bug-app/src/tmp/unicorn.sock fd=15 I, [2021-03-21T23:52:35.294266 #26347] INFO -- : master process ready I, [2021-03-21T23:52:35.329151 #26358] INFO -- : worker=0 ready I, [2021-03-21T23:52:35.330048 #26359] INFO -- : worker=1 ready I, [2021-03-21T23:52:35.334340 #26361] INFO -- : worker=3 ready I, [2021-03-21T23:52:35.335187 #26360] INFO -- : worker=2 ready bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.7.2/bin/unicorn_rails) ArgumentError: Already running on PID:☓☓☓☓☓ (or pid=/home/ec2-user/game-bug-app/src/tmp/unicorn.pid is stale) /home/ec2-user/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/unicorn-6.0.0/lib/unicorn/http_server.rb:206:in `pid=' /home/ec2-user/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/unicorn-6.0.0/lib/unicorn/http_server.rb:138:in `start' /home/ec2-user/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/unicorn-6.0.0/bin/unicorn_rails:209:in `<top (required)>' /home/ec2-user/.rbenv/versions/2.7.2/bin/unicorn_rails:23:in `load' /home/ec2-user/.rbenv/versions/2.7.2/bin/unicorn_rails:23:in `<top (required)>' bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.7.2/bin/unicorn_rails) ArgumentError: Already running on PID:☓☓☓☓☓ (or pid=/home/ec2-user/game-bug-app/src/tmp/unicorn.pid is stale) /home/ec2-user/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/unicorn-6.0.0/lib/unicorn/http_server.rb:206:in `pid=' /home/ec2-user/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/unicorn-6.0.0/lib/unicorn/http_server.rb:138:in `start' /home/ec2-user/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/unicorn-6.0.0/bin/unicorn_rails:209:in `<top (required)>' /home/ec2-user/.rbenv/versions/2.7.2/bin/unicorn_rails:23:in `load' /home/ec2-user/.rbenv/versions/2.7.2/bin/unicorn_rails:23:in `<top (required)>'

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

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

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

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

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

CHERRY

2021/03/22 04:11

nginx や unicorn のログにはどのようなメッセージが記録されていますか?
pay_561

2021/03/22 05:03

unicornのログを追記しました。 すみませんnginxのログの場所がわからないです。
guest

回答1

0

自己解決

nginxのconfigの設定が悪かったみたいです。

投稿2021/03/24 10:20

pay_561

総合スコア26

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問