Files
i-tools/DEPLOY.md
yfan 3d175d75af
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
Sync to CNB / sync (push) Has been cancelled
Delete old workflow runs / del_runs (push) Has been cancelled
Upstream Sync / Sync latest commits from upstream repo (push) Has been cancelled
first commit
2026-01-30 16:57:44 +08:00

251 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 信奥工具箱 - 服务器部署指南
## 前置要求
1. **服务器环境**
- Linux 系统(推荐 Ubuntu 20.04+ 或 CentOS 7+
- Docker 已安装(版本 20.10+
- Docker Compose 已安装(可选,推荐)
2. **网络访问**
- 能够访问阿里云镜像仓库:`registry.cn-hangzhou.aliyuncs.com`
- 服务器端口开放(默认 3000 端口)
## 快速部署
### 方法一:使用 Docker Compose推荐
1. **登录阿里云镜像仓库**
```bash
docker login --username=<您的用户名> registry.cn-hangzhou.aliyuncs.com
```
2. **上传部署文件到服务器**
- `docker-compose.yml`
- `deploy.sh`(可选)
3. **执行部署**
```bash
# 使用部署脚本
chmod +x deploy.sh
./deploy.sh --compose
# 或直接使用 docker-compose
docker-compose pull
docker-compose up -d
```
4. **验证部署**
```bash
# 查看容器状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 访问服务
curl http://localhost:3000
```
### 方法二:使用 Docker 命令
1. **登录阿里云镜像仓库**
```bash
docker login --username=<您的用户名> registry.cn-hangzhou.aliyuncs.com
```
2. **使用部署脚本**
```bash
chmod +x deploy.sh
./deploy.sh
```
3. **或手动执行**
```bash
# 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/nick-x86/i-tools:latest
# 停止并删除旧容器(如果存在)
docker stop i-tools 2>/dev/null || true
docker rm i-tools 2>/dev/null || true
# 启动新容器
docker run -d \
--name i-tools \
--restart unless-stopped \
-p 3000:3000 \
-e NODE_ENV=production \
registry.cn-hangzhou.aliyuncs.com/nick-x86/i-tools:latest
```
## 配置说明
### 端口配置
默认端口为 `3000`,如需修改:
**Docker Compose 方式:**
编辑 `docker-compose.yml`,修改 `ports` 配置:
```yaml
ports:
- "8080:3000" # 主机端口:容器端口
```
**Docker 命令方式:**
```bash
./deploy.sh -p 8080
# 或
docker run -d --name i-tools -p 8080:3000 ...
```
### 环境变量
可以在 `docker-compose.yml` 或 `docker run` 命令中添加环境变量:
```yaml
environment:
- NODE_ENV=production
- PORT=3000
# 添加其他环境变量
```
## 常用操作
### 查看日志
```bash
# Docker Compose
docker-compose logs -f i-tools
# Docker 命令
docker logs -f i-tools
```
### 重启服务
```bash
# Docker Compose
docker-compose restart i-tools
# Docker 命令
docker restart i-tools
```
### 停止服务
```bash
# Docker Compose
docker-compose stop i-tools
# Docker 命令
docker stop i-tools
```
### 更新部署
```bash
# 使用部署脚本(推荐)
./deploy.sh --compose
# 或手动更新
docker-compose pull
docker-compose up -d
```
### 查看容器状态
```bash
# Docker Compose
docker-compose ps
# Docker 命令
docker ps | grep i-tools
```
## Nginx 反向代理配置(可选)
如果需要通过域名访问,可以配置 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_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;
proxy_cache_bypass $http_upgrade;
}
}
```
## 故障排查
### 容器无法启动
```bash
# 查看详细日志
docker logs i-tools
# 检查端口是否被占用
netstat -tulpn | grep 3000
# 或
lsof -i :3000
```
### 无法访问服务
1. 检查防火墙设置
```bash
# Ubuntu/Debian
sudo ufw allow 3000
# CentOS/RHEL
sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
```
2. 检查容器是否运行
```bash
docker ps | grep i-tools
```
3. 检查端口映射
```bash
docker port i-tools
```
### 镜像拉取失败
1. 确认已登录镜像仓库
```bash
docker login registry.cn-hangzhou.aliyuncs.com
```
2. 检查网络连接
```bash
ping registry.cn-hangzhou.aliyuncs.com
```
## 资源限制
默认配置的资源限制:
- CPU: 0.5-1 核心
- 内存: 256MB-512MB
如需调整,编辑 `docker-compose.yml` 中的 `deploy.resources` 部分。
## 安全建议
1. **使用非 root 用户运行容器**(已在 Dockerfile 中配置)
2. **定期更新镜像**`docker-compose pull && docker-compose up -d`
3. **配置防火墙**:只开放必要端口
4. **使用 HTTPS**:通过 Nginx 配置 SSL 证书
5. **监控日志**:定期检查容器日志
## 联系支持
如遇到问题,请检查:
1. Docker 版本是否符合要求
2. 服务器资源是否充足
3. 网络连接是否正常
4. 查看容器日志获取详细错误信息