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

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

新規登録して質問してみよう
ただいま回答率
85.44%
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+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サーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

1020閲覧

nginxの起動に失敗し、ブラウザにアプリが表示がされない原因が知りたい

asm_t

総合スコア14

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+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サーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2021/05/09 12:15

編集2021/05/12 14:52

前提・実現したいこと

プログラミング初心者です。
$ sudo service nginx startの実行に失敗し、アプリがブラウザ上に表示されません。
ブラウザのアドレス欄には、以下のとおり入力しました。

http://xx.xxx.xx.xx/(Elastic IP アドレス)

どうしてブラウザ上に表示されないのでしょうか。
以下に情報を記載させていただきますので、お気づきの点がございましたらご教示いただけますと幸いです。

$ sudo nginx -t 実行結果

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

$ ps -ef | grep unicorn | grep -v grep 実行結果

asami 4290 1 0 5月08 ? 00:00:01 unicorn_rails master -c /var/www/rails/アプリ名/config/unicorn.conf.rb -D -E production asami 4293 4290 0 5月08 ? 00:00:00 unicorn_rails worker[0] -c /var/www/rails/アプリ名/config/unicorn.conf.rb -D -E production asami 4294 4290 0 5月08 ? 00:00:00 unicorn_rails worker[1] -c /var/www/rails/アプリ名/config/unicorn.conf.rb -D -E production

$ curl http://127.0.0.1/ 実行結果

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Welcome to Amazon Linux 2</title> <style rel="stylesheet" type="text/css"> html { background-color: white; font-family: "DejaVu Sans", "Liberation Sans", sans-serif; margin: 10% 20%; } body { margin:0; padding:0; background: white; } a { color: #007eb9; } </style> </head> <body> <p>Thank you for using <a href="https://aws.amazon.com/amazon-linux-2/">Amazon Linux 2</a>.<p> <p>Now that you have it installed, find announcements and discussion in <a href="https://forums.aws.amazon.com/forum.jspa?forumID=228">the AWS Discussion Forums</a>. Also try <a href="https://aws.amazon.com/documentation/">AWS documentation</a>.</p> </body> </html>

http://xx.xxx.xx.xx/(Elastic IP アドレス) 実行結果

イメージ説明

AWSの状況

①EC2/インスタンス

イメージ説明

②インスタンスに使われているセキュリティグループ
イメージ説明

③所属するサブネットのルートテーブル
イメージ説明

/etc/nginx/conf.d/アプリ名.confの中身

# log directory error_log /var/www/rails/アプリ名/log/nginx.error.log; access_log /var/www/rails/アプリ名/log/nginx.access.log; # max body size client_max_body_size 2G; upstream app_server { # for UNIX domain socket setups server unix:/var/www/rails/アプリ名/tmp/sockets/unicorn.sock fail_timeout=0; } upstream unicorn { server unix:/var/www/rails/アプリ名/tmp/sockets/unicorn.sock; } server { listen 80; server_name 18.180.71.74; # nginx so increasing this is generally safe... keepalive_timeout 5; # path for static files root /var/www/rails/アプリ名/public; # page cache loading try_files $uri/index.html $uri.html $uri @app; location @app { # HTTP headers proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } 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; } # Rails error pages error_page 500 502 503 504 /500.html;

【補足1】nginxのログ状況

$ sudo nano /var/log/nginx/access.log 実行結果

111.239.181.40 - - [09/May/2021:11:17:42 +0000] "GET / HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36$ 188.166.70.83 - - [09/May/2021:11:20:20 +0000] "GET / HTTP/1.0" 500 1635 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/2010010$ 127.0.0.1 - - [09/May/2021:11:32:28 +0000] "GET / HTTP/1.1" 200 732 "-" "curl/7.61.1" "-" 188.166.70.83 - - [09/May/2021:11:48:07 +0000] "GET /_ignition/execute-solution HTTP/1.1" 301 5 "-" "python-requests/2.18.4" "-" 132.145.196.125 - - [09/May/2021:12:15:13 +0000] "POST / HTTP/1.1" 307 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like $ 132.145.196.125 - - [09/May/2021:12:15:15 +0000] "GET /.env HTTP/1.1" 301 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, li$ 124.219.132.185 - - [09/May/2021:12:35:52 +0000] "GET / HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHT$ 170.254.75.31 - - [09/May/2021:12:44:03 +0000] "GET / HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like$ 47.241.125.249 - - [09/May/2021:13:00:54 +0000] "\x05\x01\x00" 400 157 "-" "-" "-" 47.241.125.249 - - [09/May/2021:13:01:20 +0000] "GET http://passport.baidu.com/ HTTP/1.1" 200 732 "-" "-" "-" 47.241.125.249 - - [09/May/2021:13:02:16 +0000] "\x04\x01\x00Pg)\xA7\xEA\x00" 400 157 "-" "-" "-"

$ sudo service nginx status 実行結果

Redirecting to /bin/systemctl status nginx.service ● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: inactive (dead) 5月 10 14:23:27 ip-10-0-0-248.ap-northeast-1.compute.internal systemd[1]: Failed to start The nginx HTTP and reverse proxy server. 5月 10 14:23:27 ip-10-0-0-248.ap-northeast-1.compute.internal systemd[1]: Unit nginx.service entered failed state. 5月 10 14:23:27 ip-10-0-0-248.ap-northeast-1.compute.internal systemd[1]: nginx.service failed. 5月 10 14:26:24 ip-10-0-0-248.ap-northeast-1.compute.internal systemd[1]: Starting The nginx HTTP and reverse proxy server... 5月 10 14:26:24 ip-10-0-0-248.ap-northeast-1.compute.internal nginx[20542]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 5月 10 14:26:24 ip-10-0-0-248.ap-northeast-1.compute.internal nginx[20542]: nginx: configuration file /etc/nginx/nginx.conf test is su...sful 5月 10 14:26:24 ip-10-0-0-248.ap-northeast-1.compute.internal systemd[1]: Failed to read PID from file /run/nginx.pid: Invalid argument 5月 10 14:26:24 ip-10-0-0-248.ap-northeast-1.compute.internal systemd[1]: Started The nginx HTTP and reverse proxy server. 5月 10 15:29:29 ip-10-0-0-248.ap-northeast-1.compute.internal systemd[1]: Stopping The nginx HTTP and reverse proxy server... 5月 10 15:29:29 ip-10-0-0-248.ap-northeast-1.compute.internal systemd[1]: Stopped The nginx HTTP and reverse proxy server. Hint: Some lines were ellipsized, use -l to show in full.

【補足2】unicornのログ状況

/var/www/rails/アプリ名/log に移動し、
$ sudo less unicorn.logを実行した結果

I, [2021-05-04T16:45:51.374358 #7310] INFO -- : Refreshing Gem list I, [2021-05-04T16:45:53.511544 #7310] INFO -- : listening on addr=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock fd=9 I, [2021-05-04T16:45:53.517088 #7310] INFO -- : master process ready I, [2021-05-04T16:45:53.521522 #7312] INFO -- : worker=0 ready I, [2021-05-04T16:45:53.522770 #7313] INFO -- : worker=1 ready I, [2021-05-05T04:19:37.632516 #7310] INFO -- : reaped #<Process::Status: pid 7312 exit 0> worker=0 I, [2021-05-05T04:19:37.634294 #7310] INFO -- : reaped #<Process::Status: pid 7313 exit 0> worker=1 I, [2021-05-05T04:19:37.634380 #7310] INFO -- : master complete I, [2021-05-05T04:43:27.493213 #7551] INFO -- : Refreshing Gem list I, [2021-05-05T04:43:30.223796 #7551] INFO -- : unlinking existing socket=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock I, [2021-05-05T04:43:30.223963 #7551] INFO -- : listening on addr=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock fd=9 I, [2021-05-05T04:43:30.247530 #7551] INFO -- : master process ready I, [2021-05-05T04:43:30.253070 #7555] INFO -- : worker=1 ready I, [2021-05-05T04:43:30.253508 #7554] INFO -- : worker=0 ready I, [2021-05-06T13:26:07.863029 #7551] INFO -- : reaped #<Process::Status: pid 7554 exit 0> worker=0 I, [2021-05-06T13:26:07.863371 #7551] INFO -- : reaped #<Process::Status: pid 7555 exit 0> worker=1 I, [2021-05-06T13:26:07.863439 #7551] INFO -- : master complete I, [2021-05-06T15:10:40.684478 #3957] INFO -- : Refreshing Gem list I, [2021-05-06T15:10:46.922051 #3957] INFO -- : unlinking existing socket=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock I, [2021-05-06T15:10:46.922219 #3957] INFO -- : listening on addr=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock fd=9 I, [2021-05-06T15:10:46.939327 #3957] INFO -- : master process ready I, [2021-05-06T15:10:46.943953 #3960] INFO -- : worker=0 ready I, [2021-05-06T15:10:46.945229 #3961] INFO -- : worker=1 ready I, [2021-05-07T14:10:30.770122 #3957] INFO -- : reaped #<Process::Status: pid 3960 exit 0> worker=0 I, [2021-05-07T14:10:30.770737 #3957] INFO -- : reaped #<Process::Status: pid 3961 exit 0> worker=1 I, [2021-05-07T14:10:30.770821 #3957] INFO -- : master complete I, [2021-05-07T14:35:51.235962 #3443] INFO -- : Refreshing Gem list I, [2021-05-07T14:35:53.728166 #3443] INFO -- : unlinking existing socket=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock I, [2021-05-07T14:35:53.728336 #3443] INFO -- : listening on addr=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock fd=9 I, [2021-05-07T14:35:53.742418 #3443] INFO -- : master process ready I, [2021-05-07T14:35:53.746745 #3447] INFO -- : worker=1 ready I, [2021-05-07T14:35:53.748069 #3446] INFO -- : worker=0 ready I, [2021-05-08T09:03:57.347631 #3443] INFO -- : reaped #<Process::Status: pid 3446 exit 0> worker=0 I, [2021-05-08T09:03:57.348178 #3443] INFO -- : reaped #<Process::Status: pid 3447 exit 0> worker=1 I, [2021-05-08T09:03:57.348261 #3443] INFO -- : master complete I, [2021-05-08T10:32:02.517721 #3826] INFO -- : Refreshing Gem list I, [2021-05-08T10:32:05.086000 #3826] INFO -- : unlinking existing socket=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock I, [2021-05-08T10:32:05.086181 #3826] INFO -- : listening on addr=/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock fd=9

【補足3】バージョン

macOs Catalina 10.15.7 Nginx 1.16.1 Unicorn 6.0.0 Rails 6.0.3 Ruby 2.7.2p137

以上になります。
よろしくお願いいたします。

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

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

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

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

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

yu_1985

2021/05/09 12:47

まず「エラーがない」と言ってますがCONNECTION REFUSEDでエラーになってますよね? nginxとunicornのログを確認してください。
asm_t

2021/05/09 13:42

yu_1985様 仰るとおりで、エラーはあるけれども調べきれていない状態でした。 nginxとunicornのログを確認しましたので、その結果を【補足1】、【補足2】として追記させていただきました。 こちらご確認いただけないでしょうか。 yu_1985様のおかげでnginxのエラーに気づけてよかったです!ありがとうございます。
yu_1985

2021/05/10 01:50

参照しているログの行数が少なすぎるのでもっと広範囲を確認してください。 該当のエラーが発生したときのログが入っているようにはちょっと見えないです。
asm_t

2021/05/11 14:03

yu_1985様 返信が遅くなり大変申し訳ございません。 その後、色々なログ確認コマンドを調べていました。 $ sudo service nginx statusというコマンドを実行した結果、 以下のようなメッセージが返ってきました。 Failed to start The nginx HTTP and reverse proxy server. Unit nginx.service entered failed state. Failed to read PID from file /run/nginx.pid: Invalid argument これらが原因である可能性は高いでしょうか? なお、以下に追記させていただきましたので、ご確認お願いいたします。 ・【補足1】nginxのログの状況 ・【補足3】$ netstat -tlntを実行した結果
yu_1985

2021/05/11 17:09

その状態ということはnginxが起動していないですね。 まずnginxを起動してください。 ※serviceコマンドは古いコマンドなのでsystemctlを使ってください。 そして、結局ログは狭い範囲しか記載してないままなので少なくともエラーの該当箇所だと思われるところまでは貼ってください。 INFOはエラーではないです。 多分tailで確認してると思うんですが、tailはデフォルトだと10行しか確認できないのでオプションで行数を増やすかcatやlessなどでもっと広い範囲を確認してください。
asm_t

2021/05/12 14:50 編集

yu_1985様 色々とアドバイスいただき、ありがとうございます。 そもそもnginxが起動していないことに気づけていなかったので、まずは気づけてよかったです! SELinuxをPermissiveモードへ変更したところ、下記エラーが消えてnignxの起動ができました!(ブラウザでは未だ表示されないです...) Failed to start The nginx HTTP and reverse proxy server. Unit nginx.service entered failed state. Failed to read PID from file /run/nginx.pid: Invalid argument 結局ログが狭い範囲しか記載できていなかったとのこと、失礼いたしました。 tailではなく、lessを使ってみたところ長く表示されたので、【補足2】unicornのログ状況の内容を変更させていただきました。 ご確認いただけますと幸いです。
yu_1985

2021/05/12 16:56

結局エラーの箇所が記載されてないので、エラーが発生させてそのときに出たログを載せてください。 再度書きますが、INFOはエラーではないです。 nginxのログについても同様です。
asm_t

2021/05/13 10:15

yu_1985様 エラー箇所を表示させるには何とコマンドを実行したら良いのか、その後調べ続けておりますが、いくら調べてもこれ以上は見つかりませんでした...。 初心者のため、調べ方もまだまだ未熟なのだと思います。。 他にどんなコマンドがあるのか ご教示いただけると大変ありがたいです。 よろしくお願いいたします。
yu_1985

2021/05/13 12:06

nanoやlessを使っててもスクロールすれば見られるはずですが…。検索もできるはずですが、使い方はググってください。 単純に確認範囲が狭すぎるだけなので、エラー発生した時刻付近を探すか、再度エラーを発生させてどのようなログが出力されるかを確認してください。
asm_t

2021/05/15 05:27 編集

yu_1985様 返信が遅くなりました。 その後試行錯誤した結果、ログの出し方が微妙に間違っている(?)ことに気がつきました。 文字数制限の関係上、本投稿に追加することができませんでしたので、 ログの出し方やエラー内容について、全て下記記事にまとめさせていただきました。 ご確認いただけますと幸いです。 https://qiita.com/asami___t/items/5525f3cfbba3d18147e5 色々と貴重なアドバイスをいただきまして、本当にありがとうございました!! エラーが分かりましたので、この投稿はクローズとさせていただきます。
yu_1985

2021/05/15 09:43

色々補足すべき場所があるのでQiitaの方にコメントします。 全体的な問題としてはLinuxサーバ上での操作の仕方の知識が不足していることが起因しているので、そのあたりを勉強してみてください。
guest

回答2

0

自己解決

yu_1985様から色々とアドバイスをいただいた結果、
ログの内容が明らかに短いし、エラーもないし、、、とおかしいことに気づくことができ、
エラーの在り処を見つけることができました!

こちらに詳細まとめさせていただきました。
https://qiita.com/asami___t/items/5525f3cfbba3d18147e5

投稿2021/05/15 05:30

asm_t

総合スコア14

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

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

0

所属するサブネットのルートテーブルにインターネットゲートウェイがアタッチされていますでしょうか?

投稿2021/05/09 12:39

comefigo

総合スコア1049

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

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

asm_t

2021/05/09 14:02

comefigo様 コメントありがとうございます。 情報が足りておらず失礼いたしました。 所属するサブネットのルートテーブルへのインターネットゲートウェイのアタッチも完了しております。 質問記事の「AWSの状況」の中に画像を追加させていただきましたので、ご確認お願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.44%

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

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

質問する

関連した質問