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

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

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

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

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

3527閲覧

ec2インスタンスのwebサーバ(nginx)にアクセスすると時々404になる

chai_mitsuya

総合スコア18

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Amazon EC2

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

AWS(Amazon Web Services)

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

0グッド

1クリップ

投稿2020/09/03 13:07

編集2020/09/03 13:16

閲覧頂きありがとうございます。
知識不足のため質問のための情報も不足しているかもしれませんが、ご指摘いただければできる限り追加しますので、些細なことでも情報をいただけると助かります。

前提・実現したいこと

Laravelで作成したアプリをEC2インスタンスにnginxをインストールしてインターネット上に公開しようとしているのですが、通常はアクセスできるのですが時々「404 Not Found」になるのを解決(または原因究明)したいです

試したこと

AWS・nginxのエラーを確認しようとしたのですが、どこを確認すればいいのかもわからない状態です。。。

補足情報(FW/ツールのバージョンなど)

EC2

  • インスタンスタイプ:t2.micro
  • 異なるアベイラビリティゾーンで2台稼働

ロードバランサー

  • ターゲットグループに上記2台のEC2を指定(いずれもステータスは「healthy」)
  • セキュリティグループは、インバウンドルールに「HTTP:80」「HTTPS:

443」を設定

その他

  • RDSも使用
  • アプリの開発FWはLaravel

よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

nginxのログはデフォルトであれば
/var/log/nginx内にあります。
そうでない場合nginxの設定ファイルに記述して設定を変えているはずなのでそちらをご確認ください。
エラーログだけでなくアクセスログも見て、どのパスにアクセスした時に404になっているかも見るといいでしょう。

また、nginxの問題ではないかもしれない(というか、自分はnginxではなくてLaravelの実装のほうでは?と思うのですが…)ので、Laravelのログも確認してください。
LaravelのログはデフォルトではLaravelのソースが置かれているディレクトリの配下のstorage/log/にあるはずです。
アプリのログの出力先は変えるべきだと個人的には思いますが、話が逸れるので一旦割愛します。

投稿2020/09/04 04:45

yu_1985

総合スコア7471

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

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

chai_mitsuya

2020/09/04 11:11

ご推察のとおりLaravel側のエラーが発端でした。 Laravelのログは確認していたのですが時間指定の自動処理でエラーが発生していたようで、確認時に見逃していました。今後は、nginxのエラーログ、アクセスログ、アプリ側のログを注視するようにします。 ご回答ありがとうございました!
guest

0

ベストアンサー

/etc/nginx/nginx.conf
の中を編集したと思いますが、その中に

error_log /var/log/nginx/example-error.log

などと書かれた場所があると思います。
その場所にエラーログが吐かれているので

tail -f /var/log/nginx/example-error.log

とコマンドを入力し、404エラーが何で起きているのか確認することは出来ます。
※環境によって実行コマンドが違うので調べてみてください。

投稿2020/09/04 00:21

setuna0531

総合スコア128

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

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

chai_mitsuya

2020/09/04 11:07

回答いただいたエラーログの確認コマンドを実行したところ「50x.html」がないエラーのようだったので、 nginx.confのサーバエラー発生時のリダイレクトの設定を修正することで解決できました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問