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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

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

nginx

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

AWS(Amazon Web Services)

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

Q&A

0回答

1063閲覧

EC2のUbuntu環境にnginx+laravel+mysqlの環境を構築したい。

_takenoko

総合スコア18

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

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

nginx

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2021/02/05 09:17

Ubuntuを入れたEC2にnginx+Laravel+MySQLの環境を構築したいと考えております。

https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-20-04-ja
上記サイトを参考にphp,mysqlなどをインストールし、/var/www直下にlaravelというディレクトリを作成し、所有権を割り当てました。
次に下記のような/etc/nginx/sites-available/laravelファイルを作成しました。

server { listen 80; server_name laravel www.laravel; root /var/www/laravel/public; index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } location ~ /.ht { deny all; } }

その後/etc/nginx/sites-enabled/に設定ファイルにリンクをし、/var/www下でgit cloneを行いプロジェクト配置、composer installやphp artisan migrateなどを行いました。

最後にphp-fpmの設定として、/etc/nginx/conf.d/server.confファイルを作成しました。

server { listen 80; root /var/www/laravel/public; index index.php index.html index.htm; server_name localhost; location / { if (-f $request_filename) { expires 30d; break; } } location ~ [^/].php(/|$) { fastcgi_split_path_info ^(.+.php)(/.+)$; if (!-f $document_root$fastcgi_script_name) { return 404; } fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }

nginxやphp-fpmの再起動後、EC2にブラウザでアクセスしたところ、urlはipアドレス/loginと想定通りのものになっていましたが、404エラーとなっておりました。
エラーログを見たところ/var/www/laravel/public/loginを探しに行っているということは分かったのですが、修正方法が分かりません。
どなたか教えていただけませんか?

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

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

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

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

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

yu_1985

2021/02/05 09:32

nginx.confでsites-enabledをincludeしてますか? /etc/nginx/nginx.conf を確認してください。 個人的にはsite-availableとsites-enabledを使う構成は複数サイトを同居させるための設定で、混乱の元なのであまり好きではないですが…。(conf.dに必要なファイルを追加すれば十分ですし、不要ならそもそも消せばいいので) まあそこは本題と逸れるのでこの辺にしておきます。
yu_1985

2021/02/05 09:34

あと、多分 /etc/nginx/sites-available/laravel と /etc/nginx/conf.d/server.conf は 双方で80番ポートの設定をしているのでバッティングします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問