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 协议》,转载必须注明作者和本文链接
 
           保安 的个人博客
 保安 的个人博客
         
                     
                     
             
             
             
             
             
             
             
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: