chore: initialize deployable website and CMS
This commit is contained in:
@@ -0,0 +1,696 @@
|
||||
# 宝塔面板部署指南
|
||||
|
||||
> 阿美巴传统官网1.0 - 完整部署教程
|
||||
|
||||
---
|
||||
|
||||
## 一、环境要求
|
||||
|
||||
### 1.1 服务器配置
|
||||
|
||||
| 项目 | 最低要求 | 推荐配置 |
|
||||
|------|---------|---------|
|
||||
| 操作系统 | CentOS 7+ / Ubuntu 20+ | CentOS 8 / Ubuntu 22 |
|
||||
| 内存 | 1GB | 2GB+ |
|
||||
| 硬盘 | 20GB | 50GB+ |
|
||||
| Node.js | 18.x | 20.x(better-sqlite3 需要可用的原生构建环境) |
|
||||
|
||||
### 1.2 宝塔面板安装
|
||||
|
||||
```bash
|
||||
# CentOS
|
||||
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh
|
||||
|
||||
# Ubuntu
|
||||
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
|
||||
```
|
||||
|
||||
### 1.3 宝塔软件安装
|
||||
|
||||
登录宝塔面板后,在 **软件商店** 中安装:
|
||||
|
||||
| 软件 | 版本 | 用途 |
|
||||
|------|------|------|
|
||||
| **Nginx** | 1.24+ | Web服务器 |
|
||||
| **PM2管理器** | 5.x | Node.js进程管理 |
|
||||
| **Node.js版本管理器** | - | 安装Node.js 20 |
|
||||
|
||||
---
|
||||
|
||||
## 二、项目结构
|
||||
|
||||
### 2.1 本地项目结构
|
||||
|
||||
```
|
||||
传统官网升级版/
|
||||
├── dist/ ← 前端构建产物
|
||||
├── cms/
|
||||
│ ├── server/ ← CMS后端
|
||||
│ │ ├── src/
|
||||
│ │ ├── admin/dist/ ← 管理后台构建产物
|
||||
│ │ ├── cms.db ← 数据库(运行后生成)
|
||||
│ │ └── uploads/ ← 上传文件目录
|
||||
│ └── admin/ ← 管理后台源码(不需要上传)
|
||||
├── package.json
|
||||
└── README.md
|
||||
```
|
||||
|
||||
### 2.2 服务器目录结构
|
||||
|
||||
```
|
||||
/www/wwwroot/aiameiba.com/
|
||||
├── frontend/ ← 前端静态文件
|
||||
│ ├── index.html
|
||||
│ └── assets/
|
||||
├── cms-server/ ← CMS后端
|
||||
│ ├── src/
|
||||
│ ├── admin/dist/ ← 管理后台
|
||||
│ ├── node_modules/
|
||||
│ ├── cms.db ← 数据库
|
||||
│ └── uploads/ ← 上传文件
|
||||
└── .env ← 环境变量(可选)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、本地构建
|
||||
|
||||
### 3.1 安装依赖
|
||||
|
||||
```bash
|
||||
# 前端
|
||||
npm install
|
||||
|
||||
# CMS后端
|
||||
cd cms/server
|
||||
npm install
|
||||
|
||||
# 管理后台
|
||||
cd cms/admin
|
||||
npm install
|
||||
```
|
||||
|
||||
### 3.2 构建前端
|
||||
|
||||
```bash
|
||||
# 在项目根目录执行
|
||||
npm run build
|
||||
```
|
||||
|
||||
构建完成后会生成 `dist/` 文件夹。
|
||||
|
||||
### 3.3 构建管理后台
|
||||
|
||||
```bash
|
||||
cd cms/admin
|
||||
npm run build
|
||||
```
|
||||
|
||||
构建完成后会在 `cms/admin/` 生成 `dist/` 文件夹。
|
||||
|
||||
### 3.4 初始化数据库(可选)
|
||||
|
||||
如果想在本地初始化测试数据:
|
||||
|
||||
```bash
|
||||
cd cms/server
|
||||
npm run seed
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、上传文件到服务器
|
||||
|
||||
### 4.1 使用宝塔文件管理器
|
||||
|
||||
1. 登录宝塔面板
|
||||
2. 点击 **文件** 进入文件管理
|
||||
3. 导航到 `/www/wwwroot/`
|
||||
4. 创建目录 `aiameiba.com`
|
||||
|
||||
### 4.2 上传文件
|
||||
|
||||
| 本地路径 | 服务器路径 | 说明 |
|
||||
|---------|-----------|------|
|
||||
| `dist/*` | `/www/wwwroot/aiameiba.com/frontend/` | 前端所有文件 |
|
||||
| `cms/server/*` | `/www/wwwroot/aiameiba.com/cms-server/` | 整个server目录 |
|
||||
|
||||
**注意**:
|
||||
- `node_modules` 不需要上传,服务器上重新安装
|
||||
- 不要把开发机数据库直接放进版本库;生产数据应通过备份恢复或在服务器初始化
|
||||
|
||||
### 4.3 使用 SCP 命令上传(可选)
|
||||
|
||||
```bash
|
||||
# 上传前端
|
||||
scp -r dist/* root@your-server-ip:/www/wwwroot/aiameiba.com/frontend/
|
||||
|
||||
# 上传CMS后端
|
||||
scp -r cms/server root@your-server-ip:/www/wwwroot/aiameiba.com/cms-server/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、服务器配置
|
||||
|
||||
### 5.1 安装 Node.js
|
||||
|
||||
1. 在宝塔面板打开 **Node.js版本管理器**
|
||||
2. 安装 **Node.js 20.x**(不要用24.x)
|
||||
3. 设置为默认版本
|
||||
|
||||
### 5.2 安装依赖
|
||||
|
||||
通过宝塔 **终端** 或 SSH 连接服务器:
|
||||
|
||||
```bash
|
||||
cd /www/wwwroot/aiameiba.com/cms-server
|
||||
|
||||
# 安装生产依赖
|
||||
npm install --production
|
||||
|
||||
# 如果 better-sqlite3 安装失败,尝试:
|
||||
npm rebuild better-sqlite3
|
||||
```
|
||||
|
||||
### 5.3 初始化数据库
|
||||
|
||||
```bash
|
||||
cd /www/wwwroot/aiameiba.com/cms-server
|
||||
npm run seed
|
||||
```
|
||||
|
||||
执行后会:
|
||||
- 创建数据库表
|
||||
- 使用 `CMS_ADMIN_PASSWORD` 创建管理员;未设置时生成一次性随机密码并打印
|
||||
- 插入示例数据
|
||||
|
||||
### 5.4 设置目录权限
|
||||
|
||||
```bash
|
||||
chmod -R 755 /www/wwwroot/aiameiba.com/cms-server
|
||||
chmod -R 777 /www/wwwroot/aiameiba.com/cms-server/uploads
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、使用 PM2 启动服务
|
||||
|
||||
### 6.1 通过宝塔 PM2 管理器(推荐)
|
||||
|
||||
1. 打开 **软件商店** → **PM2管理器**
|
||||
2. 点击 **添加项目**
|
||||
3. 填写配置:
|
||||
|
||||
| 配置项 | 值 |
|
||||
|-------|-----|
|
||||
| 项目目录 | `/www/wwwroot/aiameiba.com/cms-server` |
|
||||
| 启动文件 | `src/index.js` |
|
||||
| 项目名称 | `ameba-cms` |
|
||||
| Node版本 | 选择已安装的20.x |
|
||||
| 运行用户 | `www` |
|
||||
|
||||
4. 点击 **提交**
|
||||
|
||||
### 6.2 通过命令行
|
||||
|
||||
```bash
|
||||
cd /www/wwwroot/aiameiba.com/cms-server
|
||||
|
||||
# 启动服务
|
||||
pm2 start src/index.js --name ameba-cms
|
||||
|
||||
# 保存进程列表
|
||||
pm2 save
|
||||
|
||||
# 设置开机自启
|
||||
pm2 startup
|
||||
```
|
||||
|
||||
### 6.3 常用 PM2 命令
|
||||
|
||||
```bash
|
||||
# 查看所有进程
|
||||
pm2 list
|
||||
|
||||
# 查看日志
|
||||
pm2 logs ameba-cms
|
||||
|
||||
# 重启服务
|
||||
pm2 restart ameba-cms
|
||||
|
||||
# 停止服务
|
||||
pm2 stop ameba-cms
|
||||
|
||||
# 删除服务
|
||||
pm2 delete ameba-cms
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、配置 Nginx
|
||||
|
||||
### 7.1 创建网站
|
||||
|
||||
1. 打开宝塔 **网站** → **添加站点**
|
||||
2. 填写信息:
|
||||
- 域名:`aiameiba.com`
|
||||
- 根目录:`/www/wwwroot/aiameiba.com/frontend`
|
||||
- PHP版本:**纯静态**
|
||||
|
||||
### 7.2 配置反向代理
|
||||
|
||||
1. 点击网站列表中的 **设置**
|
||||
2. 选择 **配置文件**
|
||||
3. 替换为以下内容:
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name aiameiba.com www.aiameiba.com;
|
||||
|
||||
# 禁止访问隐藏文件
|
||||
location ~ /\. {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# 前端静态文件
|
||||
root /www/wwwroot/aiameiba.com/frontend;
|
||||
index index.html;
|
||||
|
||||
# 前端路由 - SPA支持
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
# CMS后端API反向代理
|
||||
location /api/ {
|
||||
proxy_pass http://127.0.0.1:13001;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
|
||||
# CMS管理后台
|
||||
location /admin/ {
|
||||
proxy_pass http://127.0.0.1:13001;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
|
||||
# 上传文件访问
|
||||
location /uploads/ {
|
||||
proxy_pass http://127.0.0.1:13001;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
}
|
||||
|
||||
# 静态资源缓存
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
|
||||
expires 30d;
|
||||
add_header Cache-Control "public, immutable";
|
||||
}
|
||||
|
||||
# Gzip压缩
|
||||
gzip on;
|
||||
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
||||
gzip_min_length 1000;
|
||||
gzip_comp_level 6;
|
||||
}
|
||||
```
|
||||
|
||||
4. 点击 **保存**
|
||||
|
||||
### 7.3 重启 Nginx
|
||||
|
||||
```bash
|
||||
nginx -t # 检查配置
|
||||
nginx -s reload # 重载配置
|
||||
```
|
||||
|
||||
或在宝塔面板点击 **重启** Nginx。
|
||||
|
||||
---
|
||||
|
||||
## 八、配置 SSL 证书(推荐)
|
||||
|
||||
### 8.1 申请免费证书
|
||||
|
||||
1. 在宝塔 **网站** → 点击站点 **设置**
|
||||
2. 选择 **SSL** 选项卡
|
||||
3. 点击 **Let's Encrypt**
|
||||
4. 选择域名,点击 **申请**
|
||||
5. 开启 **强制HTTPS**
|
||||
|
||||
### 8.2 证书申请成功后
|
||||
|
||||
Nginx配置会自动更新,包含443端口监听:
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
listen 443 ssl;
|
||||
server_name aiameiba.com www.aiameiba.com;
|
||||
|
||||
ssl_certificate /www/server/panel/vhost/cert/aiameiba.com/fullchain.pem;
|
||||
ssl_certificate_key /www/server/panel/vhost/cert/aiameiba.com/privkey.pem;
|
||||
|
||||
# 强制HTTPS
|
||||
if ($scheme = http) {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
|
||||
# ... 其他配置同上
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 九、配置环境变量(可选)
|
||||
|
||||
### 9.1 创建 .env 文件
|
||||
|
||||
```bash
|
||||
cat > /www/wwwroot/aiameiba.com/cms-server/.env << 'EOF'
|
||||
# CMS服务器端口
|
||||
CMS_PORT=13001
|
||||
|
||||
# JWT密钥(建议修改)
|
||||
JWT_SECRET=your-random-secret-key-here
|
||||
|
||||
# 首次初始化管理员密码(仅 seed 时使用)
|
||||
CMS_ADMIN_PASSWORD=replace-with-a-strong-password
|
||||
|
||||
# 数据库路径(可选,默认当前目录)
|
||||
# CMS_DB_PATH=/www/wwwroot/aiameiba.com/cms-server/cms.db
|
||||
|
||||
# 上传目录(可选)
|
||||
# UPLOAD_DIR=/www/wwwroot/aiameiba.com/uploads
|
||||
EOF
|
||||
```
|
||||
|
||||
### 9.2 修改 JWT 密钥(重要)
|
||||
|
||||
在生产环境中,务必修改 JWT 密钥:
|
||||
|
||||
```bash
|
||||
# 生成随机密钥
|
||||
openssl rand -hex 32
|
||||
|
||||
# 将生成的密钥填入 .env 的 JWT_SECRET
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 十、验证部署
|
||||
|
||||
### 10.1 检查服务状态
|
||||
|
||||
```bash
|
||||
# 检查PM2进程
|
||||
pm2 list
|
||||
|
||||
# 应该看到:
|
||||
# ┌─────┬──────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┐
|
||||
# │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │
|
||||
# ├─────┼──────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┤
|
||||
# │ 0 │ ameba-cms │ default │ 1.0.0 │ fork │ 12345 │ 5m │ 0 │ online │ 0% │
|
||||
# └─────┴──────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┘
|
||||
|
||||
# 检查端口监听
|
||||
netstat -tlnp | grep 13001
|
||||
|
||||
# 检查CMS健康状态
|
||||
curl http://localhost:13001/health
|
||||
```
|
||||
|
||||
### 10.2 访问测试
|
||||
|
||||
| 项目 | 访问地址 | 说明 |
|
||||
|------|---------|------|
|
||||
| 官网首页 | https://aiameiba.com | 应显示网站首页 |
|
||||
| CMS后台 | https://aiameiba.com/admin | 应显示登录页 |
|
||||
| 健康检查 | https://aiameiba.com/health | 返回 `{"status":"ok"}` |
|
||||
|
||||
### 10.3 登录后台
|
||||
|
||||
1. 访问 `https://aiameiba.com/admin`
|
||||
2. 输入账号密码:
|
||||
- 用户名:`admin`
|
||||
- 密码:使用 `CMS_ADMIN_PASSWORD` 或 `npm run seed` 输出的一次性密码
|
||||
3. **首次登录后请立即修改密码**
|
||||
|
||||
---
|
||||
|
||||
## 十一、常见问题
|
||||
|
||||
### 11.1 PM2 启动失败
|
||||
|
||||
```bash
|
||||
# 查看详细日志
|
||||
pm2 logs ameba-cms --lines 100
|
||||
|
||||
# 常见原因:
|
||||
# 1. better-sqlite3 未编译
|
||||
npm rebuild better-sqlite3
|
||||
|
||||
# 2. 端口被占用
|
||||
lsof -i :13001
|
||||
kill -9 <PID>
|
||||
|
||||
# 3. 权限问题
|
||||
chmod -R 755 /www/wwwroot/aiameiba.com/cms-server
|
||||
```
|
||||
|
||||
### 11.2 前端显示空白
|
||||
|
||||
```bash
|
||||
# 检查Nginx配置
|
||||
nginx -t
|
||||
|
||||
# 检查文件是否存在
|
||||
ls -la /www/wwwroot/aiameiba.com/frontend/
|
||||
|
||||
# 检查Nginx错误日志
|
||||
tail -f /www/wwwroot/aiameiba.com/frontend/error.log
|
||||
```
|
||||
|
||||
### 11.3 API 请求失败
|
||||
|
||||
```bash
|
||||
# 检查CMS服务是否运行
|
||||
pm2 list
|
||||
|
||||
# 检查反向代理配置
|
||||
curl -I http://localhost:13001/api/cms/public
|
||||
|
||||
# 检查防火墙
|
||||
iptables -L -n | grep 13001
|
||||
```
|
||||
|
||||
### 11.4 上传图片失败
|
||||
|
||||
```bash
|
||||
# 检查目录权限
|
||||
ls -la /www/wwwroot/aiameiba.com/cms-server/uploads/
|
||||
|
||||
# 修复权限
|
||||
chmod -R 777 /www/wwwroot/aiameiba.com/cms-server/uploads/
|
||||
```
|
||||
|
||||
### 11.5 数据库损坏
|
||||
|
||||
```bash
|
||||
# 备份当前数据库
|
||||
cp /www/wwwroot/aiameiba.com/cms-server/cms.db /tmp/cms.db.backup
|
||||
|
||||
# 检查数据库完整性
|
||||
sqlite3 /www/wwwroot/aiameiba.com/cms-server/cms.db "PRAGMA integrity_check;"
|
||||
|
||||
# 如果损坏,重新初始化
|
||||
cd /www/wwwroot/aiameiba.com/cms-server
|
||||
rm cms.db
|
||||
npm run seed
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 十二、备份与恢复
|
||||
|
||||
### 12.1 定期备份脚本
|
||||
|
||||
创建备份脚本:
|
||||
|
||||
```bash
|
||||
cat > /www/backup/ameba-backup.sh << 'EOF'
|
||||
#!/bin/bash
|
||||
BACKUP_DIR="/www/backup/ameba"
|
||||
DATE=$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
mkdir -p $BACKUP_DIR
|
||||
|
||||
# 备份数据库
|
||||
cp /www/wwwroot/aiameiba.com/cms-server/cms.db $BACKUP_DIR/cms_$DATE.db
|
||||
|
||||
# 备份上传文件
|
||||
tar -czf $BACKUP_DIR/uploads_$DATE.tar.gz -C /www/wwwroot/aiameiba.com/cms-server uploads/
|
||||
|
||||
# 备份前端
|
||||
tar -czf $BACKUP_DIR/frontend_$DATE.tar.gz -C /www/wwwroot/aiameiba.com frontend/
|
||||
|
||||
# 删除7天前的备份
|
||||
find $BACKUP_DIR -name "*.db" -mtime +7 -delete
|
||||
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
|
||||
|
||||
echo "Backup completed: $DATE"
|
||||
EOF
|
||||
|
||||
chmod +x /www/backup/ameba-backup.sh
|
||||
```
|
||||
|
||||
### 12.2 设置定时备份
|
||||
|
||||
在宝塔 **计划任务** 中添加:
|
||||
|
||||
| 类型 | Shell脚本 |
|
||||
|------|----------|
|
||||
| 执行周期 | 每天 03:00 |
|
||||
| 脚本内容 | `/www/backup/ameba-backup.sh` |
|
||||
|
||||
### 12.3 恢复数据
|
||||
|
||||
```bash
|
||||
# 恢复数据库
|
||||
cp /www/backup/ameba/cms_20260908_120000.db /www/wwwroot/aiameiba.com/cms-server/cms.db
|
||||
|
||||
# 恢复上传文件
|
||||
tar -xzf /www/backup/ameba/uploads_20260908_120000.tar.gz -C /www/wwwroot/aiameiba.com/cms-server/
|
||||
|
||||
# 重启服务
|
||||
pm2 restart ameba-cms
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 十三、安全建议
|
||||
|
||||
### 13.1 修改默认密码
|
||||
|
||||
首次部署后立即修改管理员密码:
|
||||
- 后台修改:登录后台 → ⚙ 修改密码
|
||||
- 命令修改:`cd cms-server && npm run passwd`
|
||||
|
||||
### 13.2 修改默认端口
|
||||
|
||||
编辑 `.env` 文件修改端口:
|
||||
|
||||
```env
|
||||
CMS_PORT=18888 # 改为其他端口
|
||||
```
|
||||
|
||||
同步修改 Nginx 配置中的代理端口。
|
||||
|
||||
### 13.3 限制后台访问IP
|
||||
|
||||
在 Nginx 配置中添加 IP 白名单:
|
||||
|
||||
```nginx
|
||||
location /admin/ {
|
||||
allow 123.456.789.0; # 你的IP
|
||||
deny all;
|
||||
|
||||
proxy_pass http://127.0.0.1:13001;
|
||||
# ... 其他代理配置
|
||||
}
|
||||
```
|
||||
|
||||
### 13.4 开启防火墙
|
||||
|
||||
```bash
|
||||
# 只开放必要端口
|
||||
firewall-cmd --permanent --add-port=80/tcp
|
||||
firewall-cmd --permanent --add-port=443/tcp
|
||||
firewall-cmd --reload
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 十四、更新部署
|
||||
|
||||
### 14.1 更新前端
|
||||
|
||||
```bash
|
||||
# 本地构建
|
||||
npm run build
|
||||
|
||||
# 上传 dist 到服务器
|
||||
scp -r dist/* root@server:/www/wwwroot/aiameiba.com/frontend/
|
||||
```
|
||||
|
||||
### 14.2 更新后端
|
||||
|
||||
```bash
|
||||
# 上传新的 cms-server 代码
|
||||
# ...
|
||||
|
||||
# 在服务器上
|
||||
cd /www/wwwroot/aiameiba.com/cms-server
|
||||
npm install --production
|
||||
pm2 restart ameba-cms
|
||||
```
|
||||
|
||||
### 14.3 更新管理后台
|
||||
|
||||
```bash
|
||||
# 本地构建
|
||||
cd cms/admin
|
||||
npm run build
|
||||
|
||||
# 上传 admin/dist 到服务器
|
||||
scp -r cms/admin/dist/* root@server:/www/wwwroot/aiameiba.com/cms-server/admin/dist/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 附录:完整部署命令汇总
|
||||
|
||||
```bash
|
||||
# ========== 服务器端执行 ==========
|
||||
|
||||
# 1. 创建目录
|
||||
mkdir -p /www/wwwroot/aiameiba.com/{frontend,cms-server}
|
||||
|
||||
# 2. 安装Node.js(通过宝塔面板)
|
||||
|
||||
# 3. 安装依赖
|
||||
cd /www/wwwroot/aiameiba.com/cms-server
|
||||
npm install --production
|
||||
|
||||
# 4. 初始化数据库
|
||||
npm run seed
|
||||
|
||||
# 5. 设置权限
|
||||
chmod -R 755 /www/wwwroot/aiameiba.com/cms-server
|
||||
chmod -R 777 /www/wwwroot/aiameiba.com/cms-server/uploads
|
||||
|
||||
# 6. 启动PM2
|
||||
pm2 start src/index.js --name ameba-cms
|
||||
pm2 save
|
||||
pm2 startup
|
||||
|
||||
# 7. 配置Nginx(通过宝塔面板)
|
||||
|
||||
# 8. 申请SSL证书(通过宝塔面板)
|
||||
|
||||
# 9. 验证
|
||||
curl http://localhost:13001/health
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**部署完成!** 🎉
|
||||
|
||||
如有问题,请查看 PM2 日志:`pm2 logs ameba-cms`
|
||||
Reference in New Issue
Block a user