Tags
- Airchina
- Anti-Spam
- Bluetooth
- bugs
- ChinaSouthern
- Django
- DNS
- Enterprise
- fastcgi
- France
- Hainanair
- HAM
- HongKong
- InnoDB
- iSCSI
- kubernetes
- large-scale
- lighty
- Linux
- Macao
- Meituan
- MM
- MySQL
- nginx
- Oracle
- Outdoor
- Percona
- Photo
- postfix
- Python
- RedHat
- redis
- Sentry
- systemd
- Traffic
- Travel
- UK
- Virtualization
- xtrabackup
- 信用卡
- 奥运
- 美食
- 规范化
- 软件工程
Meta
Blogroll
Mine
Tag Archives: Python
web服务器和web应用的结合方式是个很麻烦的事啊
今天在看python的资料,发现没看关于python作为web应用部署的方法。后来才发现,原来python的web应用功能大都是由开发框架提供的,用这些开发框架开发的程序可以以http、fastcgi、uwsgi等协议对外提供服务,但都是与该应用程序紧密相关的;和Apache的mod_php类似的mod_python文档上声称尚未支持Apache 2.0;没有找到和php-fpm类似的语言级别的fastcgi服务器。 web应用程序的部署是个挺麻烦的事。 普通web服务器+cgi: web服务器需要把URL映射到文件系统,并执行cgi 普通web服务器+内置语言处理模块: (像apache+mod_php这样的) web服务器需要把URL映射到模块(并判断文件是否存在,可选步骤),并由该模块处理) 普通web服务器+分离式web应用: (web服务器+php等语言级别的fastcgi、 web服务器+应用级别的fastcgi、uwsgi等种种协议) web服务器需要把URL映射到后端服务,并由该后端服务处理。而该后端服务还得再把URL映射Class、Function再运行,需要两次regexp匹配。这样就把应用的开发和部署紧密耦合了,增加了部署的麻烦啊 20130103更新:随着我对python的学习,我越来越认同python派的WSGI server+框架+应用程序的架构,也认同WSGI server直接对外提供高性能服务的理念。参考Shell Xu的博文