论坛地址:https://www.sapazai.xyz/ 测试账号 用户名:密码123 密码:123
- 实现板块分区、话题支持 markdown 渲染和语法高亮、话题浏览排行、回复通知、点赞通知、@ 提醒、邮箱重置密码、更换头像等功能。
- 数据库选择了 MySQL,实现了基于 SQLALchemy 的 ORM,封装 CRUD 接口的基类。
- 编写数据库重置脚本与 Shell 脚本一键部署结合,加快开发测试速率,保证测试数据可控和一致性。
- 使用 Nginx 访问静态资源、做反向代理,同时配合 Gunicorn 实现多进程负载均衡,用 Gevent 开启协程充分利用机器效能。使用 Nginx 配置 SSL 证书,网站入口全部转入 HTTPS 协议。
- 使用 Redis 实现登录 Session 和页面 token 在多进程下的数据共享,和用于缓存计算耗时长的数据结果。
- 使用 Celery 任务队列框架和 Redis 组合模拟高并发应对策略,确保邮箱信息可靠发送。
- 多次使用 A/B Test、 cProfile 和 Graphviz 对影响用户体验较大的路由函数评估,提供调优证据,为优化响应提供方向。
Ubuntu Server 18.04.1 LTS 64位
Python 3.6
bash deploy.sh