Laravel+Inertia+VueJS启用SSR时命令与端口问题咨询
问题分析与解决方案
你操作中的错误点
- 未启动Laravel后端服务器就尝试访问8000端口:Inertia SSR服务是内部辅助服务,不直接接收浏览器请求,必须通过Laravel后端转发请求,单独启动SSR服务后,8000端口无服务自然无法连接。
- 直接访问SSR服务端口(13714):该端口仅用于Laravel后端与SSR服务的内部通信,不处理浏览器的HTTP请求,返回
NOT_FOUND是正常现象。 - 未同步运行所有必要服务:仅启动
php artisan serve但未同时运行SSR服务和前端资源服务时,后端无法调用SSR渲染,只能返回客户端渲染的JS内容。
正确操作流程与端口说明
核心服务分工
- Laravel后端(默认端口8000):接收浏览器所有请求,判断是否需要SSR渲染,将请求转发给SSR服务,最终返回渲染好的HTML或客户端资源。
- Inertia SSR服务(默认端口13714):仅接受Laravel后端的内部调用,负责将Vue组件渲染为HTML片段。
- 前端资源服务:开发环境负责监听文件变化并编译资源,生产环境负责构建最终资源文件。
开发环境命令(调试阶段)
按顺序在不同终端窗口执行以下命令:
- 启动前端开发服务器,实时编译资源:
npm run dev - 启动Inertia SSR服务:
php artisan inertia:start-ssr - 启动Laravel后端服务器:
php artisan serve
- 访问地址:http://localhost:8000(始终通过Laravel后端端口访问,不要直接访问13714)
生产环境命令(部署阶段)
- 构建前端资源(包含SSR所需的编译文件):
npm run build - 启动Inertia SSR服务(建议用进程管理器如Supervisor托管,避免终端关闭后服务停止):
php artisan inertia:start-ssr - 启动Laravel后端(推荐用Nginx + PHP-FPM,而非
php artisan serve):- 配置Nginx反向代理到Laravel的PHP-FPM服务,对外暴露业务端口(如80/443)
关键配置检查
确保config/inertia.php中的SSR配置正确:
'ssr' => [ 'enabled' => true, 'url' => 'http://127.0.0.1:13714', // 与SSR服务默认端口一致 ],
内容的提问来源于stack exchange,提问作者erlango3
相关产品推荐
相关产品推荐

