Dockerを使ってnginx上でPHP実行環境を構築し、Laravel新規プロジェクト作成を行いたいです。
laravelのプロジェクト作成自体は成功しましたが、localhost
にアクセスすると nginxの404 Not Found
が発生します。
調べてもわからず限界だったので質問します。よろしくおねがいします。
期待値
laravelのデモ画面を表示すること
構成
project
├ docker-compose.yml
├ docker
│ ├ php
│ │ ├ php.ini
│ │ └ Dockerfile
│ └ nginx
│ └ default.conf
└ server
server内にlaravelプロジェクトが入っています。
実際のソース
//docker-compose.yml version: '3' services: php: container_name: php build: ./docker/php volumes: - ./server:/var/www nginx: image: nginx container_name: nginx ports: - 80:80 volumes: - ./server:/var/www - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf depends_on: - php db: image: mysql:5.7 container_name: db-host environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: database MYSQL_USER: docker MYSQL_PASSWORD: docker TZ: 'Asia/Tokyo' command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci volumes: - ./docker/db/data:/var/lib/mysql - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf - ./docker/db/sql:/docker-entrypoint-initdb.d ports: - 3306:3306
Dockerfile
1FROM php:7.2-fpm 2COPY php.ini /usr/local/etc/php/ 3 4RUN apt-get update \ 5 && apt-get install -y zlib1g-dev mariadb-client \ 6 && docker-php-ext-install zip pdo_mysql 7 8#Composer install 9COPY --from=composer /usr/bin/composer /usr/bin/composer 10 11ENV COMPOSER_ALLOW_SUPERUSER 1 12 13ENV COMPOSER_HOME /composer 14 15ENV PATH $PATH:/composer/vendor/bin 16 17 18WORKDIR /var/www 19 20RUN composer global require "laravel/installer"
//default.conf server { listen 80; index index.php index.html; root /var/www/public; location / { root /var/www/public; index index.html index.php; try_files $uri $uri/ /index.php$query_string; } location ~ .php$ { try_files $uri =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
実行したコマンド
$ docker-compose up -d $ docker-compose exec php bash $ composer create-project laravel/laravel
試したこと
- Not Foundなので、/var/www/public にプロジェクトを作成
→403 Forbiddenエラー
→
# ls -ld /var/www/public/project/ drwxr-xr-x 26 root root 832 Jun 29 14:05 /var/www/public/project/ //実行権限あり。ルートディレクトリも実行権限あり。
参考にしたサイト
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/29 22:47