schedule2019-04-12

Laradock nginxでの404 not found

404 not foundが出たときの対処法。

現象

Laradockでnginxを立ち上げてから確認すると「404 not found」のページが出た。

404

フォルダ構成

プロジェクト直下に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」。

404

原因と対処

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の基本的な機能について学べます。

PHPフレームワーク Laravel入門

  • バージョン:Laravel 5.4
  • OS:Windows, Mac OS対応

注意:HTML/CSSが解かる人向けです。基本からちょっと外れたこと(既存のDBを使う方法など)は載っていません。