在 Laradock 中通过端口号区分多个 Laravel 项目

本文介绍如何在 Laradock 中通过端口号配置多个 Laravel 项目,实现在同一套容器中运行多个站点。

在使用 Laradock 开发 Laravel 项目时,我们常常希望在本地同时运行多个项目。本文介绍如何通过不同端口号区分多个项目,实现多项目共存。


🧭 步骤概览

  1. 创建多个 Nginx 配置文件,为每个项目分配不同端口
  2. 修改 Docker Compose 配置,映射宿主机端口
  3. 挂载各自的项目代码目录
  4. 重启容器服务并访问测试

🔧 第一步:配置 Nginx 站点文件

laradock/nginx/sites/ 目录下为每个项目创建一个配置文件。

project1.conf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
server {
    listen 81;
    server_name localhost;
    root /var/www/project1/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass php-upstream;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

project2.conf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
server {
    listen 82;
    server_name localhost;
    root /var/www/project2/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass php-upstream;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

⚙️ 第二步:配置 Docker 端口映射

编辑 laradock/docker-compose.yml,找到 nginx 服务部分,添加端口:

1
2
3
4
5
6
7
services:
  nginx:
    ports:
      - "8081:81"  # Project 1
      - "8082:82"  # Project 2
      - "80:80"
      - "443:443"

这样就可以通过宿主机的 80818082 访问两个项目。


🔄 第三步:重启服务应用配置

重启服务以使配置生效:

1
docker-compose up -d nginx

🌐 访问测试

你应该能分别看到两个 Laravel 项目首页。


📝 注意事项

  • 保证每个端口在宿主机唯一,不被其他服务占用

✅ 总结

通过 Nginx 配置 + Docker 端口映射 + 多项目挂载,你就能优雅地在一套 Laradock 环境中同时运行多个 Laravel 项目,无需开多个容器组。非常适合本地开发阶段使用!

使用 Hugo 构建
主题 StackJimmy 设计