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

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

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

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

nginx

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

AWS(Amazon Web Services)

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

Q&A

1回答

4265閲覧

nginx+php-fpm laravelのルーティングについて

kachan777

総合スコア16

Laravel

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

nginx

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2019/04/17 14:45

お世話になります。

nginxとlaravelのルーティングがうまく行かず、アドバイスを頂きたいです。

[事象]

https://[my domain]/public/index.phpへアクセス

https://[my domain]/public/index.php/signinへ遷移後
レスポンスが 404 Not Found となります。

/public/index.phpへアクセス後、laravelがルーティングしても
/public配下のディレクトリには自由に移動できるようになることが目標です。


[構成]

[AWS ALB] -- [AWS:ECS nginx] -- [AWS:ECS php-fpm(laravel)]

ALBのリスナーはパスベースルーティングにて /public*
nginxのコンテナが所属するTarget Groupへアクセスを割り振ります。


[nginx /etc/nginx/conf.d/default.conf]

server { listen 80 default; server_name _; root /var/www/html; index index.php index.html index.htm; charset utf-8; access_log /dev/stdout; error_log /dev/stderr debug; # ALBからのhealth checkに200を返す location /healthcheck { return 200 "OK"; } #location /public { # try_files $uri $uri/ /index.php$is_args$args; #} location ~* .php$ { fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; include fastcgi_params; # laravelへうまくパスが渡せないので/public/index.phpと直書きする。 #fastcgi_param SCRIPT_FILENAME $document_root/public/$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root/public/index.php; } }

[アクセスログ]

  • nginx
10.0.1.90 - - [17/Apr/2019:14:38:36 +0000] "GET /public/index.php HTTP/1.1" 302 444 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" 2019/04/17 14:38:36 [error] 8#8: *71 open() "/var/www/html/public/index.php/signin" failed (2: No such file or directory), client: 10.0.1.90, server: _, request: "GET /public/index.php/signin HTTP/1.1", host: "[[使用しているFQDN]]" 0.0.1.90 - - [17/Apr/2019:14:38:36 +0000] "GET /public/index.php/signin HTTP/1.1" 404 556 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
  • php-fpm
23:21:52127.0.0.1 - 17/Apr/2019:14:21:52 +0000 "GET /public/index.php" 302

宜しくお願い致します。

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

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

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

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

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

guest

回答1

0

普通は/publicではなく/にするのでは。
ドキュメントに参考例が載ってるので他にアドバイスすることはない。
https://readouble.com/laravel/5.8/ja/deployment.html

投稿2019/04/18 01:48

kawax

総合スコア10377

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

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

kachan777

2019/04/18 03:47

ご回答ありがとうございます。 AWS ECSでblue&greenを使用する際、ALBではパスに"/"がdefaultで予約されていて使用できず https://[my domain]/public/のように/publicとすることが必要であるようです。 なので/publicのようにアクセスしてもルーティングできる方法があればご意見を頂きたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問