# ALS **Repository Path**: zooezuo/license-backend ## Basic Information - **Project Name**: ALS - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-13 - **Last Updated**: 2025-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # License Backend Service ## 项目概述 这是一个基于Flask构建的许可证管理后端服务,提供许可证生成、验证和管理功能。使用PostgreSQL数据库存储许可证信息,通过JWT进行身份验证,并使用Gunicorn作为生产环境的WSGI服务器。 ## 项目结构 license-backend/ ├── .env # 环境变量配置 ├── .gitignore # Git忽略文件 ├── app.py # 应用入口 ├── apps/ # 应用模块 ├── common/ # 通用工具和配置 ├── gunicorn.py # Gunicorn配置 ├── requirements.txt # 依赖列表 ├── settings.py # 应用配置 ├── start.sh # 启动脚本 ├── logs/ # 日志目录 ├── migrations/ # 数据库迁移文件 └── tests/ # 测试代码 ## 环境要求 - Python 3.10.9 - PostgreSQL 17.4 - pip (Python包管理) - 虚拟环境 或 docker镜像环境 ## 配置说明 环境变量配置参考`.env.example`文件 # 数据库操作 ## 执行数据库迁移 ```bash flask db upgrade ``` ## 初始化数据 ```bash flask init data ``` # 启动项目 ## 开发环境 ```bash python app.py ``` ## 生产环境 ```bash # 赋予执行权限 chmod +x start.sh # 启动服务 ./start.sh ``` # 技术栈与依赖 ## 核心框架 - Flask 3.1.1 - Web应用框架 - Flask-SQLAlchemy 3.1.1 - ORM工具 - Flask-JWT-Extended 4.7.1 - JWT认证 - PostgreSQL 17.4 - 数据库 - Gunicorn 23.0.0 - WSGI服务器 详见`requirements.txt`文件 ## Gunicorn配置 生产环境使用Gunicorn作为WSGI服务器,配置位于 gunicorn.py ## 日志配置 日志文件默认存储在 logs/ 目录下,按日期分割,保留90天日志。配置位于 settings.py: ## 安全注意事项 - 1.生产环境中务必设置 DEBUG=False - 2.定期轮换JWT密钥和数据库密码 - 3.启用HTTPS以保护数据传输 - 4.限制数据库用户权限 ## 开发与测试 ```bash # 运行测试 pytest # 生成覆盖率报告 pytest --cov=apps tests/ ``` ## 常见问题 Q: 如何修改服务端口? A: 修改 .env 文件中的 SERVER_PORT 参数或直接修改 settings.py 中的 SERVER_PORT 配置。 Q: 如何查看服务日志? A: 日志默认位于 logs/gunicorn/ 目录下,可通过以下命令跟踪错误日志 ```bash tail -f logs/gunicorn/$(date +%Y%m%d)_error.log ``` Q: 数据库连接失败怎么办? A: 检查数据库服务是否运行,验证 .env 中的数据库连接参数是否正确。