199 lines
3.5 KiB
Markdown
199 lines
3.5 KiB
Markdown
# 服务器部署指南
|
||
|
||
## 服务器信息
|
||
- **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
|
||
- **默认密码**: admin123
|
||
|
||
## 常用命令
|
||
|
||
```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
|
||
```
|