Laragon 搭建 Laravel 微服务本质是利用其轻量、隔离、多环境切换强的特点,为多个独立 Laravel 项目提供统一本地运行底座;需分项目管理、域名隔离、数据库分离和配置解耦。

用 Laragon 搭 Laravel 微服务,本质不是“Laragon 原生支持微服务”,而是利用它轻量、隔离、多环境切换强的特点,为多个独立 Laravel 项目(每个可视为一个微服务)提供统一、干净、可复用的本地运行底座。关键在分项目管理、域名隔离、数据库分离和配置解耦。
一、准备多个独立的 Laravel 项目
每个微服务应是一个完整、自包含的 Laravel 应用(如 auth-service、order-service、user-service),各自有:
- 独立的
composer.json和vendor/ - 独立的
.env文件(含唯一APP_NAME、APP_KEY、数据库名) - 独立的
database/migrations/和database/seeds/ - 不共用
storage/或bootstrap/cache/目录
二、按项目组织 Laragon 的 www 目录
把每个服务放进 C:\laragon\www\ 下的独立子目录:
-
C:\laragon\www\auth-service\(含artisan、public\等) C:\laragon\www\order-service\C:\laragon\www\user-service\
Laragon 会自动为每个目录生成对应虚拟主机,访问地址默认为:http://auth-service.test、http://order-service.test、http://user-service.test
三、为每个服务配独立数据库与用户
打开 HeidiSQL 或 phpMyAdmin,创建三个数据库(例如 auth_db、order_db、user_db),字符集统一用 utf8mb4_unicode_ci。
在每个项目的 .env 中分别配置:
DB_DATABASE=auth_db DB_USERNAME=root DB_PASSWORD=
如需更高隔离性(推荐生产模拟),可额外建专用 MySQL 用户并授权:
- 新建用户
auth_user,仅授予auth_db全权限 - 对应修改
.env中的DB_USERNAME和DB_PASSWORD
四、启动与协作流程(避免端口/缓存冲突)
每个服务需单独初始化,不要全局共享缓存或配置:
- 右键 Laragon 托盘 → Terminal → 选中
auth-service→ 运行:composer install && php artisan key:generate && php artisan migrate - 同理对
order-service和user-service分别执行 - 清空各项目下的
bootstrap/cache/config.php和storage/framework/cache,确保配置不跨服务污染 - 所有服务共用 Laragon 的 Apache/MySQL,无需重复启动;用 Start All 一次即可
服务间调用通过 HTTP(如 Guzzle 请求 http://user-service.test/api/users/123)或消息队列(Redis + Horizon)实现,Laragon 本身也内置 Redis 支持(可在托盘菜单一键启停)。


















