You need to enable JavaScript to run this app. 如何将集成vuejs的Laravel项目部署到共享主机
优惠活动
大模型
产品
解决方案
定价
更多

如何将集成vuejs的Laravel项目部署到共享主机

已上传主机的Laravel+Vue项目简便部署方案

基础目录与权限校准

  • 找到Laravel项目的storage、bootstrap/cache两个目录,设置为Web服务账号可读写的权限(常规设为775即可,不建议直接开777留安全隐患)
  • 将主机的站点根路径直接指向Laravel的public目录,不要靠URL重写规则把外部请求跳转到项目根目录下的public文件夹,避免Vue打包后的静态资源路径解析错位
  • 确认Vue生产构建的文件(打包生成的JS、CSS静态资源、入口HTML)已经放到public目录对应位置,Laravel的路由兜底规则要能把非接口类的请求正确导向前端入口

无SSH权限场景的轻量化操作(虚拟主机通用)

大部分虚拟主机没有开放SSH终端权限,完全不需要硬上复杂的CI/CD流程,按下面的步骤操作最快:

  • 所有需要编译的环节全部在本地完成:先在本地项目根目录执行composer install --no-dev --optimize-autoloader生成生产环境的依赖映射,再进入前端目录执行npm run build生成生产包,不要在主机上跑构建命令——虚拟主机的算力大概率会因为内存不足、超时导致构建失败
  • 把本地生成的全量构建文件上传到主机对应目录后,通过主机自带的Web文件管理器,打开项目根目录下的routes/web.php,临时插入几行命令一次性跑完Laravel的核心缓存优化:

    临时插入的代码示例,跑完立刻删除

    Artisan::call('config:cache');
    Artisan::call('route:cache');
    Artisan::call('view:cache');
    Artisan::call('migrate --force');
    
  • 删除临时插入的代码后,访问域名验证接口连通性、前端页面渲染是否正常即可完成部署

有SSH权限场景的极简流程

如果主机开放了SSH连接,整个部署流程可以压缩到几条命令搞定:

  • 拉取最新的线上目标分支代码
  • 依次执行以下命令:
    composer install --no-dev --optimize-autoloader
    npm run build
    php artisan migrate --force
    php artisan config:cache && php artisan route:cache
    
  • 刷新Web服务缓存即可完成部署,不需要逐文件手动调整

高频踩坑提醒

  • 不要把.env配置文件、前端源码目录、未编译的依赖包放到public可访问目录下,避免被恶意爬取
  • 线上环境必须将 .env 中的 APP_DEBUG 设置为 false,避免报错堆栈、数据库结构等敏感信息直接暴露给访客
  • Vue打包前要核对配置文件里的静态资源基础路径参数,确保和站点的实际访问路径匹配,不然会出现页面能打开但所有CSS、JS资源全部404的问题
  • 跑完临时缓存命令后一定要删掉临时插入的执行代码,留着会存在被恶意触发命令执行的安全风险

内容的提问来源于stack exchange,提问作者liaqat ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 17:36:07