uWSGI是一个Web应用服务器,它具有应用服务器,代理,进程管理及应用监控等功能。它支持WSGI协议,同时它也支持自有的uWSGI协议,该协议据说性能非常高,而且内存占用率低,为mod_wsgi的一半左右,我没有实测过。它还支持多应用的管理及应用的性能监控。虽然uWSGI本身就可以直接用来当Web服务器,但一般建议将其作为应用服务器配合Nginx一起使用,这样可以更好的发挥Nginx在Web端的强大功能。本文我们就来介绍如何搭建uWSGI+Ngnix环境来运行Python应用。
安装uWSGI
pip install uwsgi
让我们来写个Hello World的WSGI应用,并保存在”server.py”文件中:
def application(environ, start_response): status = '200 OK' output = 'Hello World!' response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))] start_response(status, response_headers) return [output]
让我们在uWSGI中运行它,执行命令:
uwsgi --http :9090 --wsgi-file server.py
然后打开浏览器,访问”http://localhost:9090″,你就可以看到”Hello World!”字样了。
上面的命令中”- -http”参数指定了HTTP监听地址和端口