Docker nginx-未找到文件
我已经通过nginx上的docker安装了我的应用程序。(Laravel项目),但当尝试将nginx root从var/www更改为var/www/public时,它返回“未找到文件” 我在下面分享我的代码: 我的app.conf:Docker nginx-未找到文件,docker,nginx,Docker,Nginx,我已经通过nginx上的docker安装了我的应用程序。(Laravel项目),但当尝试将nginx root从var/www更改为var/www/public时,它返回“未找到文件” 我在下面分享我的代码: 我的app.conf: server { listen 80; index index.php index.html; root /var/www/public; location / { try_files $uri /index.php
server {
listen 80;
index index.php index.html;
root /var/www/public;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
server_tokens off;
}
我的docker-compose.yml
version: '3.7'
services:
app:
build:
context: docker/php
dockerfile: Dockerfile
container_name: app
image: jjuanrivvera99/laravel:mysql-alpine
restart: always
depends_on:
- redis
volumes:
- ./:/var/www
- ./docker/php/local.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
web:
image: nginx:alpine
restart: always
depends_on:
- app
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./docker/nginx/:/etc/nginx/conf.d/
networks:
- app-network
queue:
restart: always
depends_on:
- redis
image: jjuanrivvera99/laravel:mysql-alpine
environment:
CONTAINER_ROLE: "queue"
volumes:
- "./:/var/www/"
networks:
- app-network
scheduler:
restart: always
depends_on:
- redis
image: jjuanrivvera99/laravel:mysql-alpine
environment:
CONTAINER_ROLE: "scheduler"
volumes:
- "./:/var/www/"
networks:
- app-network
node:
image: jjuanrivvera99/node:alpine
restart: always
build:
context: docker/node
dockerfile: Dockerfile
container_name: node
volumes:
- ./:/var/www
mysql:
image: mysql:5.7.22
restart: always
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: mdpocr
MYSQL_ROOT_PASSWORD: Bugbytes13**
volumes:
- mysql-data:/var/lib/mysql/
- ./docker/mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
redis:
image: redis
restart: always
ports:
- 6379:6379
volumes:
- redis-data:/data
networks:
- app-network
networks:
app-network:
driver: bridge
volumes:
mysql-data:
driver: local
redis-data:
driver: local
怎么了
当我将root更改为/var/www时,它运行良好。但当我将其更改为/var/www/public时,它返回“未找到文件”。是您创建了
/var/www/public
这个目录,还是您的项目创建了它?我的文件位于/var/www。是的,我创建了/var/www/public