192 lines
3.1 KiB
Markdown
192 lines
3.1 KiB
Markdown
# 狐蒂云活动监控 - 部署指南
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
hdy/
|
||
├── public/ # 静态资源
|
||
│ ├── index.html # 监控页面
|
||
│ └── 1671896015.mp3 # 提示音频
|
||
├── auto-buy/ # 自动抢购脚本
|
||
│ ├── index.js
|
||
│ ├── config.js
|
||
│ └── package.json
|
||
├── monitor-server.js # 主服务
|
||
├── package.json
|
||
└── DEPLOY.md # 本文件
|
||
```
|
||
|
||
## 部署方式
|
||
|
||
### 方式一:直接部署(推荐)
|
||
|
||
#### 1. 准备环境
|
||
- Node.js 16+
|
||
- npm 或 yarn
|
||
|
||
#### 2. 安装依赖
|
||
```bash
|
||
# 主项目依赖
|
||
npm install
|
||
|
||
# 自动抢购脚本依赖(可选)
|
||
cd auto-buy
|
||
npm install
|
||
cd ..
|
||
```
|
||
|
||
#### 3. 启动服务
|
||
```bash
|
||
# 开发模式
|
||
npm start
|
||
|
||
# 生产模式(使用 PM2)
|
||
npm install -g pm2
|
||
pm2 start monitor-server.js --name "hdy-monitor"
|
||
pm2 save
|
||
pm2 startup
|
||
```
|
||
|
||
#### 4. 访问
|
||
- 本地:http://localhost:3000
|
||
- 公网:http://你的服务器IP:3000
|
||
|
||
---
|
||
|
||
### 方式二:Docker 部署
|
||
|
||
#### 1. 构建镜像
|
||
```bash
|
||
docker build -t hdy-monitor .
|
||
```
|
||
|
||
#### 2. 运行容器
|
||
```bash
|
||
# 前台运行
|
||
docker run -p 3000:3000 hdy-monitor
|
||
|
||
# 后台运行
|
||
docker run -d -p 3000:3000 --name hdy-monitor hdy-monitor
|
||
|
||
# 带自动重启
|
||
docker run -d -p 3000:3000 --name hdy-monitor --restart always hdy-monitor
|
||
```
|
||
|
||
#### 3. 查看日志
|
||
```bash
|
||
docker logs -f hdy-monitor
|
||
```
|
||
|
||
#### 4. 停止/删除
|
||
```bash
|
||
docker stop hdy-monitor
|
||
docker rm hdy-monitor
|
||
```
|
||
|
||
---
|
||
|
||
### 方式三:Docker Compose 部署
|
||
|
||
```bash
|
||
# 启动
|
||
docker-compose up -d
|
||
|
||
# 查看日志
|
||
docker-compose logs -f
|
||
|
||
# 停止
|
||
docker-compose down
|
||
```
|
||
|
||
---
|
||
|
||
### 方式四:Vercel/Netlify 部署(仅前端)
|
||
|
||
如果只需要前端页面,可以将 `public` 文件夹部署到静态托管服务。
|
||
|
||
但需要注意:API 功能需要单独部署后端服务。
|
||
|
||
---
|
||
|
||
## 生产环境配置
|
||
|
||
### 1. 修改端口
|
||
编辑 `monitor-server.js`:
|
||
```javascript
|
||
const PORT = process.env.PORT || 3000;
|
||
```
|
||
|
||
### 2. 配置环境变量
|
||
创建 `.env` 文件:
|
||
```env
|
||
PORT=3000
|
||
NODE_ENV=production
|
||
```
|
||
|
||
### 3. 使用 Nginx 反向代理
|
||
```nginx
|
||
server {
|
||
listen 80;
|
||
server_name your-domain.com;
|
||
|
||
location / {
|
||
proxy_pass http://localhost:3000;
|
||
proxy_http_version 1.1;
|
||
proxy_set_header Upgrade $http_upgrade;
|
||
proxy_set_header Connection 'upgrade';
|
||
proxy_set_header Host $host;
|
||
proxy_cache_bypass $http_upgrade;
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4. 配置 HTTPS(Let's Encrypt)
|
||
```bash
|
||
# 安装 Certbot
|
||
sudo apt install certbot python3-certbot-nginx
|
||
|
||
# 获取证书
|
||
sudo certbot --nginx -d your-domain.com
|
||
```
|
||
|
||
---
|
||
|
||
## 常见问题
|
||
|
||
### 1. 端口被占用
|
||
```bash
|
||
# 查找占用 3000 端口的进程
|
||
lsof -i :3000
|
||
|
||
# 或修改 monitor-server.js 中的端口
|
||
```
|
||
|
||
### 2. 防火墙设置
|
||
```bash
|
||
# Ubuntu/Debian
|
||
sudo ufw allow 3000
|
||
|
||
# CentOS
|
||
sudo firewall-cmd --permanent --add-port=3000/tcp
|
||
sudo firewall-cmd --reload
|
||
```
|
||
|
||
### 3. 云服务器安全组
|
||
- 阿里云/腾讯云/AWS 等需要在控制台开放 3000 端口
|
||
|
||
---
|
||
|
||
## 更新部署
|
||
|
||
```bash
|
||
# 拉取最新代码
|
||
git pull
|
||
|
||
# 重启服务
|
||
pm2 restart hdy-monitor
|
||
|
||
# 或 Docker
|
||
docker-compose down
|
||
docker-compose up -d
|
||
```
|