mirror of
https://github.com/wangdage12/Snap.Server.git
synced 2026-02-17 08:52:10 +08:00
添加文档并修复问题
This commit is contained in:
112
README.md
112
README.md
@@ -1,2 +1,114 @@
|
||||
# Snap.Server
|
||||
Snap.Hutao新后端API
|
||||
|
||||
## 部署方法
|
||||
|
||||
### 在服务器生成RSA密钥
|
||||
|
||||
执行以下代码在根目录生成密钥:
|
||||
```python
|
||||
from Crypto.PublicKey import RSA
|
||||
|
||||
# 生成 2048 位 RSA 密钥对
|
||||
key = RSA.generate(2048)
|
||||
|
||||
private_key = key.export_key()
|
||||
public_key = key.publickey().export_key()
|
||||
|
||||
with open("private.pem", "wb") as f:
|
||||
f.write(private_key)
|
||||
|
||||
with open("public.pem", "wb") as f:
|
||||
f.write(public_key)
|
||||
|
||||
print("Keys generated.")
|
||||
|
||||
```
|
||||
|
||||
**确保客户端的公钥和生成的相同,否则将无法使用账户功能**
|
||||
|
||||
### 创建配置文件
|
||||
|
||||
创建`config.json`文件,示例内容如下:
|
||||
|
||||
```json
|
||||
{
|
||||
"SECRET_KEY": "jwt_secret_key",
|
||||
"MONGO_URI": "mongodb+srv://wdgwdg889_db_user:xxxxxx@cluster0.eplrcvl.mongodb.net/?appName=Cluster0",
|
||||
"TIMEZONE": "Asia/Shanghai",
|
||||
"ISTEST_MODE": false,
|
||||
"SERVER": {
|
||||
"HOST": "0.0.0.0",
|
||||
"PORT": 5222,
|
||||
"DEBUG": false
|
||||
},
|
||||
"JWT": {
|
||||
"ALGORITHM": "HS256",
|
||||
"EXPIRATION_HOURS": 24
|
||||
},
|
||||
"EMAIL": {
|
||||
"GMAIL_USER": "wdgwdg889@gmail.com",
|
||||
"APP_PASSWORD": ""
|
||||
},
|
||||
"RSA": {
|
||||
"PRIVATE_KEY_FILE": "private.pem",
|
||||
"PUBLIC_KEY_FILE": "public.pem"
|
||||
},
|
||||
"LOGGING": {
|
||||
"LEVEL": "DEBUG",
|
||||
"FORMAT": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
参数说明:
|
||||
|
||||
| 参数 | 说明 |
|
||||
|------|------|
|
||||
| SECRET_KEY | 用于JWT签名的密钥,请设置为复杂字符串 |
|
||||
| MONGO_URI | MongoDB连接字符串 |
|
||||
| TIMEZONE | 服务器时区 |
|
||||
| ISTEST_MODE | 是否启用测试模式,测试模式下部分功能将返回默认值,不连接数据库 |
|
||||
| SERVER.HOST | 服务器监听地址 |
|
||||
| SERVER.PORT | 服务器监听端口 |
|
||||
| SERVER.DEBUG | 是否启用Flask的调试模式 |
|
||||
| JWT.ALGORITHM | JWT签名算法 |
|
||||
| JWT.EXPIRATION_HOURS | JWT过期时间(小时) |
|
||||
| EMAIL.GMAIL_USER | 用于发送验证邮件的Gmail账号 |
|
||||
| EMAIL.APP_PASSWORD | Gmail应用专用密码 |
|
||||
| RSA.PRIVATE_KEY_FILE | RSA私钥文件路径 |
|
||||
| RSA.PUBLIC_KEY_FILE | RSA公钥文件路径 |
|
||||
| LOGGING.LEVEL | 日志记录级别,生产环境建议设置为INFO |
|
||||
| LOGGING.FORMAT | 日志记录格式 |
|
||||
|
||||
### 开发环境启动方法
|
||||
|
||||
确保已安装依赖:
|
||||
```
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
运行Flask应用:
|
||||
```
|
||||
python app.py
|
||||
```
|
||||
|
||||
### 生产环境启动方法
|
||||
|
||||
建议使用Gunicorn部署:
|
||||
```
|
||||
pip install -r requirements.txt && python -m gunicorn run:app --bind 0.0.0.0:5222 --workers 4 --threads 2 --access-logfile - --error-logfile -
|
||||
```
|
||||
|
||||
请根据服务器性能调整`--workers`和`--threads`参数。
|
||||
|
||||
### API文档
|
||||
|
||||
API文档可以在该地址访问:
|
||||
|
||||
https://rdgm3wrj7r.apifox.cn/
|
||||
|
||||
### 注意事项
|
||||
|
||||
在轻量使用的场景下,可以直接使用MongoDB Atlas的免费套餐,但在高并发场景下,建议使用自建MongoDB服务器以获得更好的性能和稳定性。
|
||||
|
||||
新MongoDB数据库会在写入数据时自动创建,无需手动创建数据库和集合。
|
||||
|
||||
Reference in New Issue
Block a user