前提・実現したいこと
laravel / docker / nginx / conoha VPS
本番環境で画面を表示させたい。
発生している問題・エラーメッセージ
404 Not Found nginx/1.18.0
該当のソースコード
nginx側で、laravelのページを正しく読み込めていないエラーと認識しております。
そのため、nginx/default.conf
のソースコードを記述させていただきます。
また、念の為、docker-compose.yml
のソースコードも記述しておきます。
conf
1# /root/work/sample/infra/nginx/default.conf 2 3server { 4 listen 80; 5 server_name sample.site 160.251.20.102; 6 root /root/work/sample/backend/public; 7 index index.html index.php; 8 9 add_header X-Frame-Options "SAMEORIGIN"; 10 add_header X-XSS-Protection "1; mode=block"; 11 add_header X-Content-Type-Options "nosniff"; 12 13 charset utf-8; 14 15 location / { 16 #root /root/work/sample/backend/public; 17 #index index.html index.php; 18 try_files $uri $uri/ /index.php?$query_string; 19 } 20 21 location = /favicon.ico { access_log off; log_not_found off; } 22 location = /robots.txt { access_log off; log_not_found off; } 23 24 error_page 404 /index.php; 25 26 location ~ .php$ { 27 try_files $uri =404; 28 fastcgi_pass app:9000; 29 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 30 include fastcgi_params; 31 } 32 33 location ~ /.(?!well-known).* { 34 deny all; 35 } 36} 37
yml
1# /root/work/sample/docker-compose.yml 2 3version: "3.12" 4services: 5 app: 6 build: ./infra/php 7 volumes: 8 - ./backend:/work 9 10 # ウェブサーバーコンテナを作る 11 web: 12 #build: ./infra/nginx 13 image: nginx:1.18-alpine 14 ports: 15 - 80:80 16 volumes: 17 - ./backend:/work 18 - ./infra/nginx/default.conf:/etc/nginx/conf.d/default.conf 19 working_dir: /work 20 21 # 追記 22 db: 23 build: ./infra/mysql 24 volumes: 25 - db-store:/var/lib/mysql 26 - ./my.cnf:/infra/mysql/my.cnf 27 command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci 28 29 mysql: 30 image: mysql:8.0.22 31 command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci 32 restart: always 33 environment: 34 - MYSQL_DATABASE=moreclo 35 - MYSQL_USER=user 36 - MYSQL_PASSWORD=password 37 - MYSQL_ROOT_PASSWORD=password 38 ports: 39 - 3306:3306 40 # volumes: 41 # # 初期データを投入するSQLが格納されているdir 42 # - ./db/mysql_init:/docker-entrypoint-initdb.d 43 # # 永続化するときにマウントするdir 44 # - ./db/mysql_data:/var/lib/mysql 45 # tty: true 46 47volumes: 48 db-store:
試したこと
1.dockerの再起動
docker-compose down
docker-compose up -d
2.default.confのserver rootの確認
指定しているディレクトリは正しいかどうかを確認しました。
root /root/work/sample/backend/public;
/root/work/sample/backend/public README.md README.md.orig backend docker-compose.yml index.html infra my.cnf package-lock.json /root/work/sample/backend/public/infra mysql nginx php /root/work/sample/backend/public README.md bootstrap config package-lock.json public server.php vendor app composer.json database package.json resources storage webpack.config.js artisan composer.lock node_modules phpunit.xml routes tests webpack.mix.js
補足情報(FW/ツールのバージョンなど)
Laravel 8.29.0 docker 20.10.3 nginx 1.18.0
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。