You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Docker部署Laravel并配置反向代理时遭遇Internal Server Error的问题求助

使用Docker部署Laravel并配置反向代理时遭遇Internal Server Error的问题求助

各位大佬好,我第一次尝试用Docker部署Laravel应用,结果访问URL的时候遇到了内部服务器错误,折腾了半天没找到问题所在,想请大家帮忙排查一下!

我的环境是两台服务器:

  • 10.0.0.12:带公网IP,用来做Nginx反向代理
  • 10.0.0.81:专门运行Laravel应用的服务器

反向代理服务器(10.0.0.12)的Nginx配置

我在这台服务器上配置了Nginx反向代理,把请求转发到Laravel服务器的指定端口:

server {
    listen 8666;
    server_name 10.0.0.12;

    location / {
        proxy_pass http://10.0.0.81:8555;
    }
}

Laravel项目中的Dockerfile配置

这是我放在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"]

Laravel项目的Docker Compose配置

同时我也写了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:

操作过程与错误信息

我已经在Laravel服务器上运行了docker build和docker-compose up命令,整个过程没有报错,容器也正常启动了。但当我在浏览器访问10.0.0.12:8666时,就出现了内部服务器错误,查看反向代理服务器的Nginx错误日志,得到了这样的内容:

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

(注:日志里显示的上游端口是5555,但我实际配置的是8555,不确定是不是日志输出的笔误)

我是不是哪里的配置出错了?第一次用Docker,真的很迷茫,希望大家能给我一些排查方向或者解决方法,非常感谢!


备注:内容来源于stack exchange,提问作者Catto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 12:39:53