Điểm:0

Docker + Nginx + Một số trang web có proxy ngược; vấn đề thư mục

lá cờ tr

Tôi vừa định cấu hình máy chủ của mình thành revproxy nhiều trang web bằng cách sử dụng mạng bên ngoài docker và định cấu hình bộ chứa nginx revproxy của tôi để hoạt động với fastcgi. Ngay bây giờ, với mục đích thử nghiệm, một trong các trang web đang hoạt động, nhưng có vẻ như nginx cho bộ chứa trang web không tìm ra chính xác đường dẫn cho tệp chỉ mục laravel và chỉ cung cấp cho tôi trang "Chào mừng nginx" mặc định.

Tôi sẽ rất biết ơn nếu được giúp đỡ.

Của tôi Dockerfile cho vùng chứa revproxy

TỪ nginx:alpine

TIẾP XÚC 80/tcp
TIẾP XÚC 443/tcp

CMD ["/bin/sh", "-c", "exec nginx -g 'daemon off;';"]
WORKDIR /var/www

soạn thảo docker cho vùng chứa revproxy

phiên bản: '3.8'
dịch vụ:
  nginx-proxy:
    xây dựng: ./
    container_name: nginx-proxy
    cổng:
      - 80:80
      - 443:443
    khối lượng:
      - ./default.conf:/etc/nginx/conf.d/default.conf
      - /var/www:/var/www/html
      - ./backend-not-found.html:/var/www/html/backend-not-found.html
      - ./certs:/etc/nginx/certs:ro
    mạng:
      - Ủy quyền
    khởi động lại: luôn luôn

mạng:
  Ủy quyền:
    bên ngoài:
      tên: nginx-proxy

nginx.conf tệp cho bộ chứa revproxy


người phục vụ {
    nghe 80;
    server_name site.com;

    bộ ký tự UTF-8;
    
    gốc /var/www/html/laravel/public;

    error_page 404 /backend-not-found.html;
    vị trí = /backend-not-found.html {
        chấp nhận tất cả;
    }

    vị trí ~ \.php$ {
        bộ giải quyết 127.0.0.11;
        đặt $upstream laravel-app:9000;
        # nginx sẽ bắt đầu nếu máy chủ không thể truy cập được
        fastcgi_pass $upstream; 
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        bao gồm fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
    địa điểm / {
        bộ giải quyết 127.0.0.11;
        đặt $upstream http://laravel-nginx:80;
        # nginx sẽ bắt đầu nếu máy chủ không thể truy cập được
        proxy_pass $upstream;
        try_files $uri $uri/ /index.php?$query_string;
        bật gzip_static;
    }
}
# Mặc định
người phục vụ {
    nghe 80 default_server;

    tên máy chủ _;
    gốc/var/www/html;

    bộ ký tự UTF-8;

    error_page 404 /backend-not-found.html;
    vị trí = /backend-not-found.html {
        chấp nhận tất cả;
    }
    địa điểm / {
        trả lại 404;
    }

    truy cập_đăng xuất;
    log_not_found tắt;
    error_log /var/log/nginx/error.log lỗi;
}

soạn thảo docker tệp cho bộ chứa trang web

phiên bản: '3.8'
dịch vụ:

  Dịch vụ #PHP
  ứng dụng:
    xây dựng:
      lập luận:
        người dùng: alex
        uid: 1000
      bối cảnh: ./
      dockerfile: dockerfile
    container_name: ứng dụng ${APP_NAME}
    khởi động lại: luôn luôn
    tty: đúng
    working_dir: /var/www
    cổng:
      - 9000:9000
    liên kết:
      - db
    khối lượng:
      - ./:/var/www
      - ./docker-compose_configs/php/custom.ini:/usr/local/etc/php/conf.d/custom.ini
    mạng:
      - Ủy quyền
      - mạng ứng dụng

  Dịch vụ #Nginx
  nginx:
    hình ảnh: nginx:alpine
    container_name: ${APP_NAME}-nginx
    khởi động lại: luôn luôn
    tty: đúng
    cổng:
      - 8080:80
    khởi động lại: luôn luôn
    khối lượng:
       - ./:/var/www/html
    mạng:
      - Ủy quyền
      - mạng ứng dụng
    phụ thuộc:
      - ứng dụng
    liên kết:
      - ứng dụng


  Dịch vụ #MySQL
  đb:
    hình ảnh: mysql: mới nhất
    container_name: ${APP_NAME}-db
    khởi động lại: trừ khi dừng
    tty: đúng
    cổng:
      - 3306:3306
    môi trường:
      MYSQL_DATABASE: ${DB_DATABASE}
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MYSQL_PASSWORD: ${DB_PASSWORD}
      MYSQL_USER: ${DB_USERNAME}
      DỊCH VỤ_TAGS: nhà phát triển
    mạng:
      - mạng ứng dụng
    khối lượng:
      - dbdata:/var/lib/mysql
      - ./docker-compose_configs/mysql/my.cnf:/etc/mysql/my.cnf


  #PhpMyAdmin
  phpmyadmin:
    hình ảnh: phpmyadmin/phpmyadmin
    container_name: ${APP_NAME}-pma
    môi trường:
      PMA_HOST: db
      PMA_ARBITRARY: 1
      TẢI LÊN_LIMIT: 400M
    khởi động lại: luôn luôn
    mạng:
      - mạng ứng dụng
    cổng:
      - 8081:80
    phụ thuộc:
      - nginx
      - db

  #elasticsearch
  tìm kiếm đàn hồi:
    hình ảnh: elaticsearch:7.12.1
    container_name: ${APP_NAME}-elasticsearch
    khối lượng:
      - dữ liệu elaticsearch:/usr/share/elaticsearch/data
    môi trường:
      - khám phá.type=nút đơn
      - cluster.routing.allocation.disk.threshold_enabled=false
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    giới hạn:
      ghi nhớ:
        nhẹ nhàng: -1
        khó :-1
    cổng:
      - "9200:9200"
    mạng:
      - mạng ứng dụng
    phụ thuộc:
      - db

#Docker Mạng
mạng:
  mạng ứng dụng:
    tên: mạng ${APP_NAME}
    tài xế: cầu
  Ủy quyền:
    bên ngoài:
      tên: nginx-proxy

#tập
khối lượng:
  cơ sở dữ liệu:
    tài xế: địa phương
  elaticsearch-dữ liệu:
    tài xế: địa phương

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.