Files
xingrin/docs/quick-start.md

241 lines
5.6 KiB
Markdown
Raw Normal View History

# 🚀 XingRin - 星环 快速开始
## 系统要求
### 硬件要求
- **CPU**: 2 核心以上
- **内存**: 4GB 以上
- **存储**: 20GB 可用空间
- **网络**: 互联网连接(用于拉取 Docker 镜像)
### 软件要求
- **操作系统**: Ubuntu 18.04+ / Debian 10+
- **权限**: sudo 管理员权限
- **端口要求**: 需要开放以下端口
2025-12-25 16:02:55 +08:00
- `8083` - HTTPS 访问(主要访问端口)
2025-12-31 17:45:25 +08:00
- `5432` - PostgreSQL 数据库(如使用本地数据库且有远程 Worker
2025-12-25 16:02:55 +08:00
- 后端 API 仅容器内监听 8888由 nginx 反代到 8083对公网无需放行 8888
2025-12-31 17:45:25 +08:00
- Redis 仅在 Docker 内部网络使用,无需对外开放
## 一键安装
### 1. 下载项目
```bash
git clone https://github.com/你的用户名/xingrin.git
cd xingrin
```
### 2. 执行安装
```bash
# 生产环境安装
sudo ./install.sh
# 开发环境安装(本地构建镜像)
sudo ./install.sh --dev
# 只安装后端(前端单独部署)
sudo ./install.sh --no-frontend
```
### 3. 访问系统
安装完成后,访问:
2025-12-25 16:02:55 +08:00
- **Web 界面**: https://你的服务器IP:8083/
**默认账号**
- 用户名: `admin`
- 密码: `admin`
⚠️ **首次登录后请立即修改密码!**
## ☁️ 云服务器部署注意事项
### 端口安全组配置
**阿里云/腾讯云/华为云等云服务器默认开启安全策略,需要手动放行端口!**
#### 必须放行的端口
```
2025-12-25 16:02:55 +08:00
8083 - HTTPS 访问(主要访问端口)
2025-12-31 17:45:25 +08:00
5432 - PostgreSQL如使用本地数据库且有远程 Worker
```
#### 推荐方案
- **国外 VPS**:如 Vultr、DigitalOcean、Linode 等,默认开放所有端口,无需额外配置
- **国内云服务器**:需要在安全组中手动放行端口,否则无法正常访问
⚠️ **重要提醒**:端口未放行会导致:
- 无法访问 Web 界面
- 扫描功能异常
- 远程 Worker 连接失败
## 安装过程说明
### 自动安装内容
```mermaid
graph TD
A[执行 install.sh] --> B[检查系统环境]
B --> C[安装 Docker]
C --> D[生成配置文件]
D --> E[拉取 Docker 镜像]
E --> F[启动服务]
F --> G[安装完成]
style A fill:#e1f5fe
style G fill:#e8f5e8
```
### 安装步骤详解
1. **环境检查**: 检测操作系统、安装缺失的基础命令
2. **Docker 安装**: 自动安装 Docker 和 docker-compose
3. **配置生成**: 创建 `.env` 配置文件,生成随机密钥
4. **数据库配置**: 支持本地 PostgreSQL 或远程数据库
5. **SSL 证书**: 自动生成自签名 HTTPS 证书
6. **服务启动**: 启动所有容器服务
## 服务管理
### 常用命令
```bash
# 启动服务
./start.sh
# 停止服务
./stop.sh
# 重启服务
./restart.sh
# 卸载系统
./uninstall.sh
```
### 服务状态检查
```bash
# 查看容器状态
docker ps
# 查看服务日志
docker logs xingrin-server
docker logs xingrin-frontend
docker logs xingrin-nginx
docker logs xingrin-agent
# 查看系统资源
docker stats
```
## 配置说明
### 主要配置文件
```
docker/.env # 主配置文件
docker/nginx/ssl/ # SSL 证书目录
/opt/xingrin/results/ # 扫描结果存储
/opt/xingrin/logs/ # 系统日志存储
```
### 重要配置项
```bash
# 数据库配置
DB_HOST=postgres # 数据库地址
DB_PORT=5432 # 数据库端口
DB_NAME=xingrin # 数据库名称
DB_USER=postgres # 数据库用户
DB_PASSWORD=随机生成 # 数据库密码
# 服务配置
2025-12-19 18:37:05 +08:00
SERVER_PORT=8888 # 后端容器内部端口(仅 Docker 内网监听)
PUBLIC_HOST=server # 对外访问地址(远程 Worker 用,配置外网 IP 或域名)
DEBUG=False # 调试模式
# 版本配置
IMAGE_TAG=v1.0.0 # 镜像版本(自动设置)
```
## 远程 Worker 部署
### 1. 主服务器添加节点
1. 登录 Web 界面
2. 进入 **系统管理****Worker 节点**
3. 点击 **添加节点**,填写远程服务器信息:
- 节点名称
- IP 地址
- SSH 端口(默认 22
- SSH 用户名
- SSH 密码
### 2. 一键部署
点击 **部署** 按钮,系统会自动:
1. SSH 连接到远程服务器
2. 安装 Docker 环境
3. 拉取 Worker 镜像
4. 启动 Agent 容器
### 3. 验证部署
- 节点状态显示为 **在线**
- 可以看到节点的 CPU、内存负载
- 任务分发时会自动选择最优节点
## 故障排查
### 常见问题
#### 1. 端口被占用
```bash
# 检查端口占用
2025-12-25 16:02:55 +08:00
sudo netstat -tlnp | grep :8083
# 停止占用端口的服务
sudo systemctl stop apache2 # 如果是 Apache
sudo systemctl stop nginx # 如果是 Nginx
```
#### 2. Docker 权限问题
```bash
# 添加用户到 docker 组
sudo usermod -aG docker $USER
# 重新登录或执行
newgrp docker
```
#### 3. 服务启动失败
```bash
# 查看详细错误日志
docker logs xingrin-server --tail 50
# 检查配置文件
cat docker/.env
# 重新生成配置
cp docker/.env.example docker/.env
# 重新配置后启动
```
### 日志查看
```bash
# 实时查看日志
docker logs -f xingrin-server
docker logs -f xingrin-agent
# 查看最近日志
docker logs --tail 100 xingrin-server
docker logs --tail 100 xingrin-agent
# 查看系统日志
tail -f /opt/xingrin/logs/*.log
```
## 下一步
安装完成后,建议阅读:
- [版本管理文档](./version-management.md) - 了解系统更新机制
- [API 文档](./api.md) - 集成开发接口(🚧 待完善)
- [最佳实践](./best-practices.md) - 使用建议和优化(🚧 待完善)
## 获得帮助
- 📖 [技术文档](./README.md)
- 🐛 [问题反馈](https://github.com/你的用户名/xingrin/issues)
- 💬 [讨论区](https://github.com/你的用户名/xingrin/discussions)
- 📧 联系邮箱: your-email@example.com