Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

基于 Tornado 6.x 的 RESTfulAPI 风格的项目模板,用于快速构建企业级高性能、高并发的服务端。

License

Notifications You must be signed in to change notification settings

Daviswenpy/tornado-RESTfulAPI

Repository files navigation

tornado-RESTfulAPI

基于 tornado 6.X 的 RESTfulAPI 风格的异步项目模板,用于快速构建企业级高性能、高并发的服务端。

技术栈

  • 框架选择:基于 tornado 6.X
  • 数据模型:基于 PyMySQL 存储
  • 授权验证:基于 JWT
  • 内置功能:用户系统、异常处理、异步处理、动态权限、接口返回格式化、日志格式化、分页、模糊查询、过滤、排序、缓存、导出等

tornado 提供基础web框架 peewee 提供ORM支持 peewee-async 提供异步的数据库操作 marshmallow 提供数据验证和数据序列化支持 ps: 放弃使用wtforms对数据验证的支持 aioredis 提供异步redis操作 pyjwt 提供权限认证支持

快速入门

如需进一步了解,参见 tornado 文档

本地开发

$ pip install -r requirements.txt # 安装依赖
$ python manage.py migrate # 迁移基本模型
$ python apps/users/tests.py # 创建默认数据
$ python manage.py ruserver 8080 # 运行服务
$ open http://localhost:8000/

线上部署

1、Linux服务器普通部署

# 获取帮助:bash sever.sh help 默认启动端口为 8080
bash server.sh start # 默认启动调试服务,不开启多线程,使用config内dev_settings.py作为配置文件
bash server.sh start prod # 正式部署使用的命令,将根据CPU核数开启多线程,使用config内prod_settings.py作为配置文件

2、Docker部署,PS:由于Dockerfile中使用的基础镜像来源于作者自行制作的Python环境,因此需要的同学可以联系作者。

# 直接运行一下命令即可,会以debug模式运行服务,如果需要prod模式运行,请将Dockerfile中 CMD ["./docker_start.sh", "8080"] 改为 CMD ["./docker_start.sh", "8080", "prod"]
# 注意:docker_start.sh 脚本的第一个参数指定端口,第二个参数指定模式。
docker-compose up -d

About

基于 Tornado 6.x 的 RESTfulAPI 风格的项目模板,用于快速构建企业级高性能、高并发的服务端。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 89.3%
  • HTML 6.7%
  • Shell 3.6%
  • Dockerfile 0.4%

AltStyle によって変換されたページ (->オリジナル) /