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

Laravel+Inertia SSR修改默认端口无效,报EADDRINUSE错误

解决Laravel Inertia SSR端口冲突问题

配置层面的排查与修复

  • 检查环境变量覆盖:Laravel的.env文件优先级高于config/inertia.php,先查看staging站点的.env是否存在INERTIA_SSR_PORT变量,若有则改为13715。修改后必须重新构建SSR资源,因为构建产物会固化环境变量值:
    npm run build
    
  • 确认构建产物已更新:修改配置后未重新构建的话,public/build/server/ssr.mjs仍会使用旧端口。执行上述构建命令后,再尝试启动PM2进程。
  • 清理PM2残留进程:可能之前的staging SSR进程未彻底关闭,导致端口被占用。先列出所有PM2进程:
    pm2 list
    
    若存在ssr_staging_example进程,先删除再重启:
    pm2 delete ssr_staging_example
    pm2 start /var/www/staging.example.com/public/build/server/ssr.mjs --name ssr_staging_example --watch
    

其他快速解决方法

  • 启动时强制指定端口:如果配置修改无效,可在PM2启动命令中直接传递端口参数,强制覆盖配置:
    pm2 start /var/www/staging.example.com/public/build/server/ssr.mjs --name ssr_staging_example --watch -- --port=13715
    
    这里的--用于区分PM2参数和Node进程参数,--port=13715会直接传递给SSR服务。
  • 排查端口占用源:用以下命令确认13714端口被哪个进程占用:
    lsof -i :13714
    # 或替代命令
    netstat -tulpn | grep 13714
    
    若为无关进程,可直接终止;若为旧的SSR进程,按前文方法清理PM2进程即可。

内容的提问来源于stack exchange,提问作者Enes Palit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 14:30:38