HTTP架构师一般都会使用很多种复杂的机制来将多个子模块组合建成一个HTTP服务。现在的网络爬虫中,已经形成了4种最基本的模式。如果已经编写了用于生成动态内容的网络爬虫Python代码,并且已经选择了某个支持WSGI的API或框架,应该如何将HTTP服务部署到线上呢?
第一步、运行一个使用网络爬虫Python编写的服务器,服务器的代码中可以直接调用WSGI接口。现在最流行的是Green Unicorn(Gunicorn)服务器,不过也有其他已经可以用于生产环境的纯Python服务器。
第二步、配置mod_wsgi并运行Apache,在一个独立的WSFIDaemonProcess中运行Python代码,由mod_wsgi启动守护进程。
第三步、在后端运行一个类似于Gunicorn的Python HTTP服务器(或者支持所选异步框架的任何服务器),然后在前端运行一个既能返回静态文件,又能对Python编写的动态资源服务进行反向代理的Web服务器。
第四部、在最前端运行一个纯粹的反向代理(如Varnish),在该反向代理后端运行Apache或者nginx,在后端运行Python编写的HTTP服务器。这是一个三层的架构。这些反向代理可以分布在不同的地理位置,这样子就能够将离客户端最近的反向代理上的缓存资源返回给发送请求的客户端。
长期以来,对这4个架构的选择主要基于CPython的3个运行时的特性,即解释器占用内存大、解释器运行慢、全局解释器(GIL,Global Interpreter Lock)禁止多个线程同时运行Python字节码。但同时带来了内存中只能载入一定数量的Python实例。
云连代理ip提供HTTP代理、HTTPS代理、Socks5代理等,云连代理是一家专业的企业级高质量代理IP供应平台,真实高匿名IP代理软件,千万IP库存量自动去重!欢迎大家免费注册领取试用IP。
![]() |
|
HTTP代理服务器的设置方法,对于IE和FireFox设置略有不同。设置前需要先找一些可用的免费代理服务器地址。
SOCKS是一组由Internal工程工作小组(IETF)所开发出来的开放软件开放标准,用来处理网络安全的事宜。SOCKS象一堵墙被夹在Internal服务器和客户端之间,对于出入企业网络的资讯提供流量和安全的