auto-deploy-demo/deploy/DEPLOY_GUIDE.md

199 lines
3.5 KiB
Markdown
Raw Normal View History

2026-02-23 06:31:59 +00:00
# 服务器部署指南
## 服务器信息
- **IP地址**: 49.232.209.156
- **用户名**: ai-auto
- **密码**: ashai@X1an
- **域名**: ashai.com.cn
## 部署步骤
### 第一步SSH连接服务器
在本地终端执行:
```bash
ssh ai-auto@49.232.209.156
# 密码: ashai@X1an
```
### 第二步安装Node.js环境
```bash
# 安装Node.js 18.x
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
# 验证安装
node -v
npm -v
```
### 第三步安装PM2进程管理器
```bash
sudo npm install -g pm2
pm2 -v
```
### 第四步:创建项目目录
```bash
mkdir -p /home/ai-auto/auto-deploy-demo
cd /home/ai-auto/auto-deploy-demo
```
### 第五步:上传项目文件
在**本地电脑**新开一个终端,执行以下命令上传文件:
```bash
# 进入项目目录
cd f:\develop\TraeProject\auto-deploy-demo
# 上传server目录
scp -r server ai-auto@49.232.209.156:/home/ai-auto/auto-deploy-demo/
# 上传projects目录
scp -r projects ai-auto@49.232.209.156:/home/ai-auto/auto-deploy-demo/
# 上传client/dist目录
scp -r client/dist ai-auto@49.232.209.156:/home/ai-auto/auto-deploy-demo/client/
# 上传配置文件
scp package.json package-lock.json .env ai-auto@49.232.209.156:/home/ai-auto/auto-deploy-demo/
```
### 第六步:安装项目依赖
回到**服务器终端**
```bash
cd /home/ai-auto/auto-deploy-demo
npm install --production
```
### 第七步:配置防火墙
```bash
# 开放主服务端口
sudo firewall-cmd --permanent --add-port=8888/tcp
# 开放项目端口范围
sudo firewall-cmd --permanent --add-port=9000-9100/tcp
# 重载防火墙
sudo firewall-cmd --reload
# 查看开放的端口
sudo firewall-cmd --list-ports
```
### 第八步:启动服务
```bash
cd /home/ai-auto/auto-deploy-demo
# 启动服务
pm2 start server/index.js --name "auto-deploy-demo"
# 保存PM2配置
pm2 save
# 设置开机自启动
pm2 startup
# 执行输出的命令需要sudo权限
```
### 第九步:验证部署
```bash
# 查看服务状态
pm2 status
# 查看日志
pm2 logs auto-deploy-demo
# 测试API
curl http://localhost:8888
```
## 访问地址
- **主系统**: http://ashai.com.cn:8888 或 http://49.232.209.156:8888
- **默认账号**: admin
- **默认密码**: 1221xian
2026-02-23 06:31:59 +00:00
## 常用命令
```bash
# 查看服务状态
pm2 status
# 查看日志
pm2 logs auto-deploy-demo
# 重启服务
pm2 restart auto-deploy-demo
# 停止服务
pm2 stop auto-deploy-demo
# 重新部署(更新代码后)
cd /home/ai-auto/auto-deploy-demo
pm2 restart auto-deploy-demo
```
## 域名配置
确保域名 `ashai.com.cn` 已解析到服务器IP `49.232.209.156`
### DNS解析配置
- **记录类型**: A记录
- **主机记录**: @
- **记录值**: 49.232.209.156
## 故障排查
### 1. 无法访问服务
```bash
# 检查服务是否运行
pm2 status
# 检查端口是否监听
netstat -tlnp | grep 8888
# 检查防火墙
sudo firewall-cmd --list-ports
```
### 2. 端口被占用
```bash
# 查看端口占用
netstat -tlnp | grep 8888
# 杀死占用进程
kill -9 <PID>
```
### 3. 查看错误日志
```bash
pm2 logs auto-deploy-demo --lines 100
```
### 4. 重启服务器后服务未自动启动
```bash
pm2 resurrect
```
## 更新部署
当需要更新代码时:
```bash
# 1. 在本地上传新文件
scp -r server ai-auto@49.232.209.156:/home/ai-auto/auto-deploy-demo/
scp -r client/dist ai-auto@49.232.209.156:/home/ai-auto/auto-deploy-demo/client/
# 2. 在服务器重启服务
pm2 restart auto-deploy-demo
```