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

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

新規登録して質問してみよう
ただいま回答率
85.35%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Ruby on Rails

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

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

Q&A

0回答

2376閲覧

pumaを本番環境で実行しようとするとnginxでエラーがでてしまう

smilax630

総合スコア34

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Ruby on Rails

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

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

0グッド

0クリップ

投稿2020/02/13 04:10

編集2020/02/13 04:12

ec2上でdockerを使用してアプリケーションを実行しようとしているのですが、
「rails s -e production」でpumaを本番環境で実行すると以下のようなエラーが出てしまいます。
ec2上でもpumaを開発環境で実行すると問題なくアプリケーションが実行できます。
nginx.confを見てもどこが問題なのかわからなかったので質問させていただきました。
よろしくおねがいします

nginx: [emerg] host not found in upstream "web:3000" in /etc/nginx/conf.d/my_song.conf:4
# プロキシ先の指定 # Nginxが受け取ったリクエストをバックエンドのpumaに送信 upstream web { server web:3000; } server { listen 80; # ドメインもしくはIPを指定 server_name example.com [or 54.65.94.96 [or localhost]]; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; # ドキュメントルートの指定 root /web/public; client_max_body_size 100m; error_page 404 /404.html; error_page 505 502 503 504 /500.html; try_files $uri/index.html $uri @web; keepalive_timeout 5; # リバースプロキシ関連の設定 location @web { 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://web; } }
version : '3' services: db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: root volumes: - ./docker/db/data:/var/lib/mysql ports: - "3306:3306" web: tty: true stdin_open: true build: . environment: EDITOR: vim command: /bin/sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" volumes: - .:/my_song ports: - "3000:3000" links: - db server: build: context: containers/nginx volumes: - ./nginx/log:/var/log/nginx - public-data:/my_song/public ports: - 80:80 depends_on: - web volumes: public-data: tmp-data: log-data: db-data:

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

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

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

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

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

siruku6

2020/02/13 11:53

productionモードで起動したpumaのport番号を確認してみてはいかがでしょうか? もしかしたら3000番じゃないところにportを開いているのかもしれないと思いました。
matsubokkuri

2020/02/14 01:15

少し方向性は違いますが、全リクエストをreverse proxyしたい場合は ``` location / { proxy_pass http://web:3000/; } ``` だけで済むとおもいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問