基于 Python 轻松自建 App 服务器(app与后端服务器开发入门)

书籍介绍

几年前,笔者在开始做第一个 App 的时候,曾深陷苦恼。一是身边没有从事 App 后端服务器开发的朋友,二是自身是电信服务网关的开发者,对 App 后端服务器是一脸茫然。从网上查找的资料都零零散散、不成体系,如框架选型杂乱多,环境搭建会遇到各种依赖包等,学习成本很高。整个过程只能靠自身摸索前进,精力耗费大,但进度缓慢。这个过程身心备受煎熬,当时就想:如果有朋友,或者有一本书,能提供一套成体系的方案,让我很快上手,那该多好!

然而并没有。时至今日,网上搜索到的 App 后台服务端开发文档虽然更多了,但基本还是片段性、不成体系的,只适合高阶用户,并且是针对具体某个问题的检索。在方案未定的情况下,App 服务器端开发小白难以从中得到正确的指导和输出,往往事倍功半。

这也是笔者写作本小册的初衷来源,希望通过本小册,能给 App 后端服务器开发的入门者,提供一套成体系、易上手(只用到一种开发语言)、从入门到进阶的方案,包括框架的选型、开发环境的准备、数据结构的定义以及数据流的打通等。

本小册使用 Python 3 为开发语言,Tornado 作为 HTTP 服务器框架,CentOS 7.2 x64 作为操作系统,MySQL 作为数据库,操作数据库使用 ORM(Object Relational Mapping)的方式,服务器端的整体框架如下图所示。

基于 Python 轻松自建 App 服务器(app与后端服务器开发入门)

本小册将从基本的 App 与服务器端的通信讲起,涵盖数据的交互、图片的上传加载、H5 页面的请求加载。在完成基本通信场景功能的基础上,笔者将带领大家一起学习反向代理服务器 Nginx,并为保障业务通信的安全性及反 HTTP 劫持,学习使用 HTTPS,最后还给出了大型 HTTP 服务器架构的演进路线及思路。为了帮助大家快速理解,小册中使用了大量的截图和代码段,并在最后给出了当前小节的完整代码资源包。

希望通过本小册的学习,读者不仅能快速搭建起自己或公司的 App 后端服务器,也能进一步优化和扩展,从而满足业务增长对服务器端的需要。

本书目录

  1. App 与后端服务器通信方法简介
  2. 本小册要完成的通信场景功能
  3. 服务器端组件框架的选择与介绍
  4. 基于腾讯云的服务器端环境搭建
  5. 基于 Tornado 的 HTTP 服务器简介及代码组织框架
  6. 第一次数据请求 :服务器接收用户注册信息
  7. 第一次数据请求 :为用户处理模块增加 log 管理
  8. 第一次数据请求 :将用户信息写入 MySQL 数据库
  9. 服务器接收客户端图片上传,并保存在硬盘中
  10. 服务器接收客户端请求,并返回 H 页面
  11. 搭建基于 Nginx 的代理服务器
  12. 基于 HTTPS 的数据加密
  13. 大型 HTTP 服务器架构演进路线及思路
  14. 总结

你会学到什么

  • 腾讯云上配置开发环境
  • 基于 Tornado 的 HTTP 服务器框架
  • App 客户端/服务器端之间的数据通信
  • 服务器端对数据库 MySQL 的操作
  • 基于 Nginx 的反向代理及基于 HTTPS 的数据加密
  • 完成一款大型服务器的进阶方案和演进路线

在读的过程中请按步骤一步步搭建环境并编写服务端代码。在完成了所有的学习后,你应该具备 App 后端服务器的搭建,并能完成 App 的基本通信场景功能,如用户注册、登录、图片上传加载、加载 H5 页面等,并能胜任后续整个后端服务器的进阶完善。

适宜人群

  • App 开发者,但无后端服务器开发经验,想补充这部分知识的同学
  • 有意从事 App 服务端开发,但未入门,或入门尚浅的同学
  • 创业团队,项目急需上线,希望有一套成体系、易扩展框架的同学

你应该具备什么

  • 基本的 Python 编程能力
  • 基本的 Linux / Unix 命令使用

作者介绍

晓梦轻寒 腾讯高级后端工程师,毕业后混迹于爱立信中国研发中心,历经爱立信高级工程师、华为高级工程师。码过性能自动化测试框架,编过大型电信服务网关,上线过几个大型 App 后端服务器,在云计算、后端框架开发上积累了不少经验。

基于 Python 轻松自建 App 服务器(app与后端服务器开发入门)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

侵权投诉:nerds@nigaea.com

工作时间:周一至周五,9:30-18:00,节假日休息

QR code