企业网站推广营销,长沙市政务服务中心官网,wordpress运行php代码,自己做的网站让别人看到文章目录1. Web框架简介1.1 MVC1.2 模板引擎2. 常用 Python Web 框架3. 虚拟环境4. 部署方式learning from 《python web开发从入门到精通》
1. Web框架简介
简化 web 开发的软件框架
一般都支持#xff1a;管理路由#xff0c;支持数据库#xff0c;MVC#xff0c;ORM管理路由支持数据库MVCORM模板引擎管理会话和Cookies
1.1 MVC
Model View Controller 一种设计模式Model 封装数据和处理方法View 是数据的 HTML 展现Controller 负责响应请求协调 Model 和 View
1.2 模板引擎
使用模板引擎可以在 HTML 页面中使用变量 如 title{{title}}/title
{{}} 变量会被替换成相应的值使得界面与数据分离业务代码与逻辑代码分离提高复用和开发效率
2. 常用 Python Web 框架
只要遵守 WSGI(服务器网管接口) 规则就可以自主开发 Web 框架
Django 最广泛社区最大最多的包但是系统耦合度高替换内置功能麻烦学习曲线陡峭Flask 轻量级容易扩展Tornado 不单单是框架还是 web 服务器为了解决实时服务诞生的(使用了异步非阻塞IO)运行速度非常快FastAPI 现代的高性能框架使用了类型提示能减少开发错误自动生成 API 文档
3. 虚拟环境
不同的应用程序使用不同的环境依赖避免升级后不兼容
virtualenvcondapip 导出环境包的明细 pip freeze requirements.txt 新环境下一次性安装 pip install -r requirements.txt
pip 加速-i 清华源地址 或者 配置 pip.ini 文件添加源地址自行网上搜索
4. 部署方式
WSGI
接受请求的服务器 处理请求的 APP
Gunicorn
常用的 WSGI Server 容器 有 Gunicorn uWSGIGunicorn 简单占用资源少更快
Nginx
是一个 web 服务器反向代理工具通常来部署静态文件可以直接处理静态文件请求绕过APP服务器避免占用运算资源能缓存静态资源提速抗并发能力缓存住瞬时高并发请求然后慢慢在后端处理多台服务器可以提供负载均衡和反向代理
Supervisor
进程管理工具看守进程异常退出后立即启动进程 购买云服务器 https://cloud.tencent.com/product/cvm阿里腾讯百度华为都可以 pip install gunicorn
gunicorn -w 3 -b 0.0.0.0:9100 run:app
w进程数b绑定主机和端口run是 run.py 文件app 是py文件里的定义应用也可以 -c 指定配置文件 如 xxxconf.py Nginx https://www.runoob.com/linux/nginx-install-setup.html windows下安装以及配置nginx pip install supervisorsupervisor 安装、配置、常用命令 使用云服务器玩一玩
创建虚拟环境 编写 run_flask_hello_world.py
from flask import FlaskappFlask(__name__)
app.route(/)
def index():return hello michael!if __name__ __main__:app.run()gunicorn -w 1 -b 0.0.0.0:9100 run_flask_hello_world:app
[2021-12-03 12:05:05 0800] [23677] [INFO] Starting gunicorn 20.1.0
[2021-12-03 12:05:05 0800] [23677] [INFO] Listening at: http://0.0.0.0:9100 (23677)
[2021-12-03 12:05:05 0800] [23677] [INFO] Using worker: sync
[2021-12-03 12:05:05 0800] [23679] [INFO] Booting worker with pid: 23679在公网上可以访问