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

Laravel Sail Inertia(Vue3)+Vite项目Ubuntu Apache部署求助

部署Laravel Sail + Inertia(Vue3) + Vite到Ubuntu Apache的解决方案

问题1解答

不能完全等同于普通Laravel部署。常规Laravel部署步骤是基础,但需注意:Sail仅为本地开发容器环境,生产环境无需保留其配置与依赖;同时因用到Vite和Inertia,确实需要额外执行npm run build来编译前端资源,这是普通Laravel部署(无Vite时)没有的步骤。

问题2:具体部署步骤

以下是适配Ubuntu Apache的完整流程:

1. 服务器环境准备

  • 安装Apache、对应Laravel版本要求的PHP(如8.1+)及必要扩展:mbstring、xml、ctype、json、bcmath、gd、curl、zip、mysqlnd
  • 安装Composer、Node.js(16+版本,适配Vite)
  • 安装数据库(如MySQL),创建项目专属数据库及权限用户

2. 项目代码上传

  • 上传本地项目代码至服务器Apache网站根目录(如/var/www/your-project),注意排除Sail相关本地文件:docker-compose.yml、.env.sail等
  • 设置目录权限:
    sudo chown -R www-data:www-data /var/www/your-project
    sudo chmod -R 755 /var/www/your-project/storage
    sudo chmod -R 755 /var/www/your-project/bootstrap/cache
    

3. Laravel核心配置

  • 复制.env.example为.env,修改数据库连接信息、APP_URL为你的域名、APP_ENV=production、APP_DEBUG=false
  • 生成应用密钥:
    php artisan key:generate --force
    
  • 执行数据库迁移(若有需要):
    php artisan migrate --force
    
  • 缓存配置与路由:
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    

4. Vite与Inertia资源构建

  • 安装项目依赖:
    npm install --production=false
    
  • 执行生产环境构建,生成编译后的静态资源:
    npm run build
    
  • 无需额外修改Inertia配置,Vite会自动处理生产环境的资源路径映射

5. Apache虚拟主机配置

  • 创建虚拟主机配置文件(如/etc/apache2/sites-available/your-project.conf):
    <VirtualHost *:80>
        ServerName your-domain.com
        DocumentRoot /var/www/your-project/public
    
        <Directory /var/www/your-project/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
            RewriteEngine On
            RewriteBase /
            RewriteRule ^index\.php$ - [L]
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . /index.php [L]
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/your-project-error.log
        CustomLog ${APACHE_LOG_DIR}/your-project-access.log combined
    </VirtualHost>
    
  • 启用配置与rewrite模块:
    sudo a2ensite your-project.conf
    sudo a2enmod rewrite
    sudo systemctl restart apache2
    

6. 验证与排错

  • 访问域名检查页面加载状态,查看浏览器控制台是否有静态资源加载错误
  • 若Inertia页面异常,确认.env中APP_URL配置正确,且Vite构建产物存在于public/build目录
  • 若出现权限报错,再次检查storage和bootstrap/cache目录的权限设置

内容的提问来源于stack exchange,提问作者Tamás László

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:55:10