docker-compose 配置开发环境遇到了些 问题 有没有大神指点下
这是docker-compose.yml
services:
redis:
image: redis:latest
environment:
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- ./data/redis:/data
networks:
- backend
nginx:
image: nginx:latest
volumes:
- ./code/:/var/www/html
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
ports:
- "80:80"
networks:
- backend
depends_on:
- php
php:
build:
context: ./php
dockerfile: Dockerfile
volumes:
- ./code:/var/www/html
environment:
- PHP_MEMORY_LIMIT=256M
- PHP_MAX_EXECUTION_TIME=300
- REDIS_PASSWORD=${REDIS_PASSWORD}
- OPCACHE_ENABLE=1
user:
networks:
- backend
depends_on:
- redis
- mysql
deploy:
replicas: 1
php-keep:
build:
context: ./php
dockerfile: DcokerfileQueue
volumes:
- ./code:/var/www/html
- ./supervisord.conf:/etc/supervisord.conf
environment:
- REDIS_PASSWORD=${REDIS_PASSWORD}
- PHP_MEMORY_LIMIT=256M
- PHP_MAX_EXECUTION_TIME=300
networks:
- backend
depends_on:
- redis
mysql:
image: mysql:5.7.16
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ports:
- "3306:3306"
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- backend
networks:
backend:
这个是nginx配置
user nginx;
worker_processes auto;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name localhost;
root /var/www/html; # 确保这里是正确的根目录
index index.php;
# 处理所有请求
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# 处理 PHP 请求
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php:9000; # 确保 php 容器名正确
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
}
现在出现的问题是
如果我配置 nginx root /var/www/html;
可以正常访问
配置成 nginx root /var/www/html/public;
就会报错
ERROR: Unable to open primary script: /var/www/html/public/index.php (Operation not permitted)
/var/www/html/index.php
/var/www/html/public/index.php 这两个权限是相同的
附:两个文件权限
-rwxrwxrwx 1 www-data www-data 28 Nov 12 07:57 index.php #可以执行的权限
-rwxrwxrwx 1 www-data www-data 0 Nov 12 07:58 index.php #报错的权限
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: