如果你已经有一个编译好的 Nuxt 3 项目(即通过 npm run build
生成的 .output
目录),你可以直接在宝塔面板中部署。以下是详细步骤:
1. 上传编译好的 Nuxt 3 项目
1. 打开宝塔面板,进入“文件”管理。 2. 找到你的网站根目录(例如 `/www/wwwroot/your-domain.com`)。 3. 将编译好的 Nuxt 3 项目文件上传到该目录。编译后的 Nuxt 3 项目通常包含以下文件和目录: - `.output`:Nuxt 3 构建的核心文件。 - `public`:静态资源文件(如果有)。 - `package.json`:项目依赖配置文件。 - `nuxt.config.ts` 或 `nuxt.config.js`:Nuxt 配置文件。
2. 安装 Node.js
1. 在宝塔面板中,进入“软件商店”。 2. 搜索并安装“Node.js 版本管理器”。 3. 安装完成后,选择与项目兼容的 Node.js 版本并安装(Nuxt 3 需要 Node.js 16 或更高版本)。
3. 安装项目依赖
1. 进入项目根目录(例如 `/www/wwwroot/your-domain.com`)。 2. 打开终端(可以通过宝塔面板的“终端”功能或 SSH 连接)。 3. 运行以下命令安装生产依赖:
npm install --production
- `--production` 参数会跳过开发依赖的安装。
4. 配置 PM2 管理进程
Nuxt 3 的入口文件位于 `.output/server/index.mjs`,可以通过 PM2 启动。
配置步骤:
1. 在宝塔面板中,进入“软件商店”。 2. 搜索并安装“PM2 管理器”。 3. 安装完成后,打开 PM2 管理器。 4. 添加新项目: - 项目路径:选择你的项目根目录(例如 `/www/wwwroot/your-domain.com`)。 - 启动文件:选择 `.output/server/index.mjs`(这是 Nuxt 3 的入口文件)。 - 项目名称:自定义(例如 `nuxt3-project`)。 5. 点击“添加”启动项目。
5. 配置域名和反向代理
1. 在宝塔面板中,进入“网站”页面。 2. 点击“添加站点”,填写你的域名(例如 `your-domain.com`)。 3. 选择站点根目录(例如 `/www/wwwroot/your-domain.com`)。 4. 其他设置保持默认,点击“提交”。 5. 进入站点设置,配置反向代理: - 代理名称:自定义(例如 `nuxt3_proxy`)。 - 目标 URL:`http://127.0.0.1:3000`(Nuxt 3 默认运行端口)。 6. 保存并启用反向代理。
6. 配置 SSL 证书(可选)
1. 在宝塔面板中,进入站点设置,点击“SSL”。 2. 选择“Let's Encrypt”,勾选域名并申请免费 SSL 证书。 3. 开启“强制 HTTPS”,确保用户通过 HTTPS 访问。
7. 访问网站
1. 打开浏览器,输入你的域名(例如 `https://your-domain.com`)。 2. 如果一切正常,你应该可以看到 Nuxt 3 项目的页面。
8. 其他注意事项
8.1 端口冲突
如果端口 `3000` 被占用,可以在 `nuxt.config.ts` 或 `nuxt.config.js` 中修改 `server.port` 配置:
export default defineNuxtConfig({
server: {
port: 3001, // 修改为其他端口
},
});
修改后,重新构建项目并更新 PM2 配置。
8.2 静态资源路径
如果静态资源(如图片、CSS 文件)加载失败,确保 `public` 目录中的文件路径正确。
8.3 环境变量
如果项目依赖环境变量(如 API 地址),可以在宝塔面板的“环境变量”中配置,或在 `.env` 文件中定义。
9. 使用 Nginx 直接代理静态文件(适用于静态部署22)
如果你的 Nuxt 3 项目是静态生成的(通过 `npm run generate`),可以直接将生成的 `dist` 目录作为静态文件部署:
- 将
dist
目录上传到服务器。 - 在宝塔面板中,添加站点并选择
dist
目录作为根目录。 - 配置 Nginx 直接代理静态文件。
总结
通过以上步骤,你可以在宝塔面板中成功部署已经编译好的 Nuxt 3 项目。关键步骤包括:
- 上传编译好的项目文件。
- 安装 Node.js 和项目依赖。
- 使用 PM2 管理 Nuxt 3 进程。
- 配置域名和反向代理。
如果遇到问题,可以检查日志文件(如 PM2 日志或 Nuxt 日志)以获取更多信息。