404 not foundが出たときの対処法。
現象
Laradockでnginxを立ち上げてから確認すると「404 not found」のページが出た。
フォルダ構成
プロジェクト直下にlaradockとpublicを置く構成。
project
├─ laradock
| ├─ nginx
| └─ .env
└─ public
└─ index.html
手順
$ cd path/to/project
$ git clone https://github.com/Laradock/laradock.git
$ cd laradock
$ cp env-example .env
./laradock/.envを修正する。
- APP_CODE_PATH_HOST=../
+ APP_CODE_PATH_HOST=../public/
http://localhostを開くと「404 Not Found」。
原因と対処
APP_CODE_PATH_HOST
だけでなくAPP_CODE_PATH_CONTAINER
もパスを変更する。
./laradock/.env
- APP_CODE_PATH_HOST=../
+ APP_CODE_PATH_HOST=../public/
- APP_CODE_PATH_CONTAINER=/var/www/
+ APP_CODE_PATH_CONTAINER=/var/www/public/
nginxのコンテナの中で、コードは/var/www/public/index.hml
にあったが、nginxは/var/www/index.hml
を見ていた。
Laravelのおすすめ参考書
こちらの書籍でLaravelの全体像が分かりやすいです。 MVCの概念の説明から開発環境の構築、Laravelの基本的な機能について学べます。
- バージョン:Laravel 5.4
- OS:Windows, Mac OS対応
注意:HTML/CSSが解かる人向けです。基本からちょっと外れたこと(既存のDBを使う方法など)は載っていません。
Docker Desktopの有料化が発表されたので対象かどうか確認した
Dockerschedule2021-09-12