update README.MD

This commit is contained in:
dalaolala committed 2026-02-11 15:42:57 +08:00
1 parent 657775bf27
commit 0b07fb2d80
3 files changed
+217 -141

No files matched your search

+112
View File
@@ -0,0 +1,112 @@
# 部署指南
## Docker 部署
### 快速开始
```bash
# 一键部署
./deploy.sh
# 访问应用
http://localhost:3000
```
### 部署脚本功能
- 自动检查Docker环境
- 清理现有容器和镜像
- 生成生产环境配置文件
- 构建Docker镜像
- 启动服务并健康检查
### 环境变量
部署脚本会自动生成 `.env.production` 文件:
```env
# 数据库配置
DB_HOST=mysql
DB_PORT=3306
DB_USER=webssh_user
DB_PASSWORD=webssh_password
DB_NAME=webssh
# JWT配置
JWT_SECRET=<随机生成>
# 服务器配置
PORT=3000
NODE_ENV=production
# 加密密钥(32字节)
ENCRYPTION_KEY=<随机生成>
```
## 手动部署
### 环境要求
- Node.js 16+
- MySQL 5.7+
### 步骤
1. **安装依赖**
```bash
npm install
```
2. **数据库初始化**
```bash
mysql -u root -p < install.sql
```
3. **环境配置**
```bash
cp backend/.env.example backend/.env
# 编辑 backend/.env 文件
```
4. **启动应用**
```bash
# 开发模式
npm run dev
# 生产模式
npm run build
npm start
```
### 端口配置
- 前端:5173 (开发) / 3000 (生产)
- 后端:3000
- MySQL:3306
## 故障排除
### 常见问题
**Docker 部署问题**
```bash
# 检查服务状态
docker compose ps
# 查看日志
docker compose logs
# 重启服务
docker compose restart
```
**加密密钥错误**
确保 ENCRYPTION_KEY 为32字节长度:
```bash
node -e "console.log(process.env.ENCRYPTION_KEY.length)"
```
**数据库连接失败**
检查MySQL服务状态和用户权限:
```bash
# 检查服务状态
sudo systemctl status mysql
# 检查数据库连接
mysql -u webssh_user -p webssh
```
+41
View File
@@ -0,0 +1,41 @@
# 功能特性
## ✅ 已实现功能
### 用户认证系统
- 用户注册(邮箱+密码)
- 用户登录(JWT令牌认证)
- 密码加密存储(bcrypt)
- 路由守卫和权限控制
### 服务器资产管理
- 服务器增删改查
- 支持密码和私钥认证
- AES-256加密存储敏感信息
- 服务器分组管理
- 树形结构展示
### SSH终端核心功能
- 基于xterm.js的Web终端
- WebSocket实时通信
- SSH2库后端连接
- 终端窗口自适应
- 命令输入和输出
- 快捷键支持(Ctrl+C等)
### 前端界面
- Vue3 + Element Plus现代化界面
- 响应式设计
- 服务器管理面板
- 终端界面
- 快速连接功能
## 🔄 待实现功能
- [ ] SFTP文件传输功能
- [ ] 多标签页支持
- [ ] 分屏显示
- [ ] 终端外观定制
- [ ] 快捷命令功能
- [ ] 连接保持和自动重连
- [ ] 操作日志记录