🎄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回答

2600閲覧

502 Bad Gatewayとなる【Rails/EC2/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/23 01:55

編集2021/03/23 02:41

##前提・困っていること
ec2にデプロイしたのですが502 Bad Gateway nginx/1.18.0と表示されます。

Nginxのログを確認しましたら、下記のエラーログが発生していました。

エラーログを見ると、var/www/game-bug-app/src/tmp/unicorn.sockのようなディレクトリはありませんとなっていると思うのですが、
確認しましたところちゃんとあり困っています。

var/www/game-bug-app/src/tmp/unicorn.sockの中身を確認しようとしましたが権限がなく開けれませんでした。

ちなみに階層は、こんな感じです。

/home/ec2-user/var/www/game-bug-app/src/tmp

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

##エラーログ
/var/log/nginx/error.log

$sudo tail /var/log/nginx/error.log 2021/03/23 01:30:00 [crit] 3195#0: *30 connect() to unix:/var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/game-bug-app/src/tmp/unicorn.sock:/", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 01:30:00 [crit] 3195#0: *30 connect() to unix:/var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 01:30:11 [crit] 3449#0: *1 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 01:30:11 [crit] 3449#0: *1 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 01:30:11 [crit] 3449#0: *1 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/favicon.ico", host: "☓.☓☓☓.☓☓.☓☓☓", referrer: "http://☓.☓☓☓.☓☓.☓☓☓/" 2021/03/23 01:30:11 [crit] 3449#0: *1 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓", referrer: "http://☓.☓☓☓.☓☓.☓☓☓/" 2021/03/23 01:33:02 [crit] 3449#0: *8 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 01:33:02 [crit] 3449#0: *8 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 01:33:02 [crit] 3449#0: *8 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/favicon.ico", host: "☓.☓☓☓.☓☓.☓☓☓", referrer: "http://☓.☓☓☓.☓☓.☓☓☓/" 2021/03/23 01:33:02 [crit] 3449#0: *8 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓", referrer: "http://☓.☓☓☓.☓☓.☓☓☓/"

/etc/nginx/conf.d/local.conf

upstream unicorn { server unix:var/www/game-bug-app/src/tmp/unicorn.sock; } server { listen 80; server_name ☓.☓☓☓.☓☓.☓☓☓; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /var/www/game-bug-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; } }

##Docker
dockerはローカル環境で使用していました、本番環境では使用してないですが一応載っけておきます。

docker-compose.yml

version: "3" services: db: image: mysql:8.0 cap_add: - SYS_NICE command: --default-authentication-plugin=mysql_native_password volumes: - ./src/db/mysql_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - ./src:/app ports: - "3000:3000" environment: RAILS_ENV: development depends_on: - db

Dockerfile

FROM ruby:2.7 ENV RAILS_ENV=production RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ && apt-get update -qq \ && apt-get install -y nodejs yarn WORKDIR /app COPY ./src /app RUN bundle config --local set path 'vendor/bundle' \ && bundle install

/var/log/nginx/error.log
##追記

$sudo tail /var/log/nginx/error.log 2021/03/23 02:21:26 [crit] 3695#0: *13 connect() to unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 02:21:26 [crit] 3695#0: *13 connect() to unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 02:21:26 [crit] 3695#0: *13 connect() to unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/favicon.ico", host: "☓.☓☓☓.☓☓.☓☓☓", referrer: "http://☓.☓☓☓.☓☓.☓☓☓/" 2021/03/23 02:21:26 [crit] 3695#0: *13 connect() to unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓", referrer: "http://☓.☓☓☓.☓☓.☓☓☓/" 2021/03/23 02:21:52 [crit] 3746#0: *1 connect() to unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 02:21:52 [crit] 3746#0: *1 connect() to unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.1", upstream: "http://unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓" 2021/03/23 02:21:53 [crit] 3746#0: *1 connect() to unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/favicon.ico", host: "☓.☓☓☓.☓☓.☓☓☓", referrer: "http://☓.☓☓☓.☓☓.☓☓☓/" 2021/03/23 02:21:53 [crit] 3746#0: *1 connect() to unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓☓☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "☓.☓☓☓.☓☓.☓☓☓", referrer: "http://☓.☓☓☓.☓☓.☓☓☓/" 2021/03/23 02:22:25 [crit] 3746#0: *7 connect() to unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.0", upstream: "http://unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/" 2021/03/23 02:22:25 [crit] 3746#0: *7 connect() to unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock failed (13: Permission denied) while connecting to upstream, client: ☓.☓☓☓.☓☓.☓☓☓, server: ☓.☓☓☓.☓☓.☓☓☓, request: "GET / HTTP/1.0", upstream: "http://unix:home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock:/500.html"

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

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

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

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

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

guest

回答1

0

ベストアンサー

ログの1・2行目と3行目以降で参照しているパスが異なっています。

2021/03/23 01:30:00 [crit] 3195#0: *30 connect() to unix:/var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/game-bug-app/src/tmp/unicorn.sock:/", host: "?.???.??.???" 2021/03/23 01:30:00 [crit] 3195#0: *30 connect() to unix:/var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "?.???.??.???"
2021/03/23 01:30:11 [crit] 3449#0: *1 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET / HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/", host: "?.???.??.???" 2021/03/23 01:30:11 [crit] 3449#0: *1 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET / HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "?.???.??.???" 2021/03/23 01:30:11 [crit] 3449#0: *1 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/favicon.ico", host: "?.???.??.???", referrer: "http://?.???.??.???/" 2021/03/23 01:30:11 [crit] 3449#0: *1 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "?.???.??.???", referrer: "http://?.???.??.???/" 2021/03/23 01:33:02 [crit] 3449#0: *8 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET / HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/", host: "?.???.??.???" 2021/03/23 01:33:02 [crit] 3449#0: *8 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET / HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "?.???.??.???" 2021/03/23 01:33:02 [crit] 3449#0: *8 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/favicon.ico", host: "?.???.??.???", referrer: "http://?.???.??.???/" 2021/03/23 01:33:02 [crit] 3449#0: *8 connect() to unix:var/www/game-bug-app/src/tmp/unicorn.sock failed (2: No such file or directory) while connecting to upstream, client: ???.???.??.???, server: ?.???.??.???, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:var/www/game-bug-app/src/tmp/unicorn.sock:/500.html", host: "?.???.??.???", referrer: "http://?.???.??.???/"

意図したとおりに参照できていないようなので、絶対パスで記載してみてはいかがでしょうか

upstream unicorn { server unix:/home/ec2-user/var/www/game-bug-app/src/tmp/unicorn.sock; }

投稿2021/03/23 02:16

yukky1201

総合スコア2751

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

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

pay_561

2021/03/23 02:45

ご回答ありがとうございます。 絶対パスで指定しましたところ、(13: Permission denied)と言うエラーが発生しました。 ご教授いただけましたら幸いです。
pay_561

2021/03/23 02:52 編集

恐らく権限の周りのことだと思うのですが、権限を与えていると思うのですが $ ls -la 合計 12 drwxrwxr-x 7 ec2-user ec2-user 170 3月 21 23:52 . drwxrwxr-x 11 ec2-user ec2-user 4096 3月 21 23:43 .. drwxrwxr-x 5 ec2-user ec2-user 53 3月 21 21:18 cache -rw-rw-r-- 1 ec2-user ec2-user 128 3月 21 20:42 development_secret.txt drwxrwxr-x 2 ec2-user ec2-user 6 3月 22 21:50 miniprofiler drwxrwxr-x 2 ec2-user ec2-user 6 3月 22 01:12 pids -rw-rw-r-- 1 ec2-user ec2-user 0 3月 21 20:44 restart.txt drwxrwxr-x 2 ec2-user ec2-user 6 3月 21 23:52 sessions drwxrwxr-x 2 ec2-user ec2-user 6 3月 21 20:44 sockets -rw-r--r-- 1 ec2-user ec2-user 6 3月 21 23:52 unicorn.pid srwxrwxrwx 1 ec2-user ec2-user 0 3月 21 23:52 unicorn.sock
yukky1201

2021/03/23 05:18

SELinuxのせいで権限がないというサイトがヒットしましたので、確認してみてください
pay_561

2021/03/24 10:22

ありがとうございます 解決できました。 GitHubからclonする場所が間違っていたみたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問