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

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

詳細はこちら
ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

Ruby on Rails 6

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

nginx

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

Amazon Route 53

Amazon Route 53 はAmazonが提供する、 可用性と拡張性に優れた ドメインネームシステム(DNS)サービスです。

Amazon EC2

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

Q&A

解決済

2回答

601閲覧

Route53を用いたドメイン設定で、EC2上のアプリが開かなくなってしまった。

athlaliel

総合スコア7

ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

Ruby on Rails 6

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

nginx

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

Amazon Route 53

Amazon Route 53 はAmazonが提供する、 可用性と拡張性に優れた ドメインネームシステム(DNS)サービスです。

Amazon EC2

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

0グッド

0クリップ

投稿2020/11/27 03:58

編集2020/11/27 08:40

実現したいこと

bundle exec unicorn_rails -c /var/www/rails/アプリ名/config/unicorn.conf.rb -D -E production
と、インターネット上に表示されている状態から脱出したいです。

Elastic IPでも、取得したドメインでもRailsアプリが開かなくなってしまいました。

前提

  • EC2でインスタンスを作成し、アプリはAWSへデプロイ済みです。
  • Route53でホストネームとレコードは作成済み(不安はあるけど)
  • 任意のドメインも取得してネームサーバーは変更済みです。
  • 下記記事を参照しています。

EC2にログインし、nginxファイルのserver_nameを、
Elastic IPから取得したドメインに変更完了しました。

【画像付きで丁寧に解説】AWS(EC2)にRailsアプリをイチから上げる方法【その5〜ドメイン設定編〜】

発生している問題

sudo vi /etc/nginx/conf.d/<アプリ名>.conf
サーバー環境 server { listen 80; client_max_body_size 4G; server_name www.bread-love.xyz; #取得したドメイン名に変更

サーバーネームを変更し、その後、下記コマンドを順に実行しました。

nginxの再起動 ①sudo service nginx restart unicornの起動チェック ②ps -ef | grep unicorn | grep -v grep unicornの再起動 ③bundle exec unicorn_rails -c /var/www/rails/PanLove/config/unicorn.conf.rb -D -E production

結果、下記のエラーが発生しました。

bundler: failed to load command: unicorn_rails (/var/www/PanLove/vendor/bundle/ruby/2.6.0/bin/unicorn_rails) Errno::ENOENT: No such file or directory @ rb_sysopen - /var/www/rails/PanLove/config/unicorn.conf.rb /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `read' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `reload' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:77:in `initialize' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `new' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `initialize' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `new' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' /var/www/PanLove/vendor/bundle/ruby/2.6.0/bin/unicorn_rails:23:in `load' /var/www/PanLove/vendor/bundle/ruby/2.6.0/bin/unicorn_rails:23:in `<top (required)>' master failed to start, check stderr log for details

下記はコマンドの入力履歴です。

[ec2-user@ip-172-31-45-213 PanLove]$ cd [ec2-user@ip-172-31-45-213 ~]$ cd /etc/nginx/conf.d [ec2-user@ip-172-31-45-213 conf.d]$ ls PanLove.conf breadlove.conf rails.conf [ec2-user@ip-172-31-45-213 conf.d]$ sudo vi /etc/nginx/conf.d/rails.conf [ec2-user@ip-172-31-45-213 conf.d]$ cd [ec2-user@ip-172-31-45-213 ~]$ cd /var/www/PanLove [ec2-user@ip-172-31-45-213 PanLove]$ ls Capfile app current package.json revisions.log tmp Gemfile babel.config.js db postcss.config.js shared vendor Gemfile.lock bin lib public spec yarn.lock README.md config log releases storage Rakefile config.ru node_modules repo test [ec2-user@ip-172-31-45-213 PanLove]$ sudo service nginx restart Redirecting to /bin/systemctl restart nginx.service [ec2-user@ip-172-31-45-213 PanLove]$ ps -ef | grep unicorn | grep -v grep [ec2-user@ip-172-31-45-213 PanLove]$ bundle exec unicorn_rails -c /var/www/rails/PanLove/config/unicorn.conf.rb -D -E production bundler: failed to load command: unicorn_rails (/var/www/PanLove/vendor/bundle/ruby/2.6.0/bin/unicorn_rails) Errno::ENOENT: No such file or directory @ rb_sysopen - /var/www/rails/PanLove/config/unicorn.conf.rb /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `read' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:84:in `reload' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/configurator.rb:77:in `initialize' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `new' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:77:in `initialize' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `new' /var/www/PanLove/vendor/bundle/ruby/2.6.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>' /var/www/PanLove/vendor/bundle/ruby/2.6.0/bin/unicorn_rails:23:in `load' /var/www/PanLove/vendor/bundle/ruby/2.6.0/bin/unicorn_rails:23:in `<top (required)>' master failed to start, check stderr log for details [ec2-user@ip-172-31-45-213 PanLove]$

nginxのサーバーネームを変えるだけのはずが複合的なエラーになってしまい、原因を探しているのですが掴めていません。Route53内のホストネームのレコードの設定を間違えてしまったのかと考えましたが、原因が判然としていません。

実際のElastic IPと、ターミナルに表示されているec2-user@ip-172-31-45-213が異なっているのが原因なのか思案中です。

自力でやろうとしていますが、明確な回答にたどりつけていません。
お知恵をお借りしたいです。よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

自己解決

過去を遡り、やり直したら解決できたが何故直ったかわかり切っていない。

投稿2020/11/27 17:15

athlaliel

総合スコア7

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

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

0

/etc/nginx/conf.d/<該当アプリ名>.conf が空(0バイト)なのではないでしょうか?

ls -l /etc/nginx/conf.d/<該当アプリ名>.conf でファイルサイズを確認してみてください。

投稿2020/11/27 05:40

take88

総合スコア1467

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

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

athlaliel

2020/11/27 05:56

ありがとうございます。 実行したら、下記が出力されました。 -rw-r--r-- 1 root root 1 11月 27 05:01 /etc/nginx/conf.d/<アプリ名>.conf 似た様な質問は他にも上がっていたので、見ていたのですが、空ファイルに記述している例もあるので、記述してみます。
take88

2020/11/27 06:19

ファイルサイズが1バイトですね。 通常、conf.d の下のファイルは /etc/nginx/nginx.conf からインクルードされてるので、インクルード元のnginx.confも確認してみるのをおすすめします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問