first commit
Some checks failed
Some checks failed
This commit is contained in:
250
DEPLOY.md
Normal file
250
DEPLOY.md
Normal file
@@ -0,0 +1,250 @@
|
||||
# 信奥工具箱 - 服务器部署指南
|
||||
|
||||
## 前置要求
|
||||
|
||||
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. 查看容器日志获取详细错误信息
|
||||
Reference in New Issue
Block a user