使用docker和反向代理部署Laravel时出现内部服务器错误

使用docker和反向代理部署Laravel时出现内部服务器错误

我正在尝试使用 docker 部署我的 Laravel 应用程序。但是访问 URL 时出现内部服务器错误。

我有 2 个服务器,一个用于公共 IP 和反向代理,第二个是 Laravel 应用程序所在的位置。假设第一个是 10.0.0.12,第二个是 10.0.0.81。我使用 IP 和端口进行测试

在 10.0.0.12 中我使用 nginx 进行反向代理,将连接代理到 10.0.0.81

server {
        listen 8666;
        server_name 10.0.0.12;
        location / {
                proxy_pass http://10.0.0.81:8555;

        }
}

这是我的 Laravel 项目中的 Dockerfile:

FROM php:7.4-apache

RUN apt-get update && apt-get install -y \
    git \
    unzip \
    libonig-dev \
    libzip-dev \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    && docker-php-ext-install pdo_mysql mbstring zip exif pcntl bcmath gd

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

WORKDIR /var/www/html/laravel-cms

COPY . .

RUN composer install --no-scripts

RUN php artisan key:generate
RUN chmod -R 777 storage bootstrap/cache

# Expose port 80 di dalam container
EXPOSE 80

# Set permission pada Apache
RUN chown -R www-data:www-data /var/www/html/laravel-cms

CMD ["apache2-foreground"]

这是针对 Docker Compose 的:

version: '3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    image: laravel-app
    container_name: laravel_cms-container
    restart: unless-stopped
    ports:
      - "8555:80"
    volumes:
      - .:/var/www/html/laravel-cms
    networks:
      - laravel

networks:
  laravel:

配置完所有这些后,我运行 docker build 和 docker up 命令。到目前为止,没有错误。但是当我在浏览器中访问 URL 时,我收到了如下消息:

request: "GET / HTTP/1.1", upstream: "http://10.0.0.81:5555/", host: "10.0.0.12:8666" 2023/12/20 15:42:01 [error] 178771#178771: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 10.0.0.1, server: 10.0.0.12

我做错了什么吗?我该怎么做才能解决这个问题?抱歉,但这是我第一次使用 Docker 容器。任何帮助都将不胜感激。谢谢

相关内容