##uwsgi+nginx 部署html
##1.WSGI Python Web Server Gateway Interface,缩写为WSGI接口协议python
##2.uwsgi 线路协议nginx
##3.uWSGI uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的做用是与uWSGI服务器进行交换。web
要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。WSGI看过前面小节的同窗很清楚了,是一种通讯协议。 uwsgi是一种线路协议而不是通讯协议,在此经常使用于在uWSGI服务器与其余网络服务器的数据通讯。 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。django
uWSGI实现了WSGI的全部接口,是一个快速、自我修复、开发人员和系统管理员友好的服务器,uWSGI代码彻底用C编写浏览器
##使用uWSGI服务器部署django (python manage.py runserver ip:8000能够在开发时使用)服务器
pip install uwsgi 配置uWSGI,在项目中新建文件uwsgi.ini,编写以下配置 [uwsgi] socket=外网ip:端口(使用nginx链接时,使用socket) http=外网ip:端口(直接作web服务器,使用http) chdir=项目根目录 wsgi-file=项目中wsgi.py文件的目录,相对于项目根目录 processes=4 threads=2 master=True pidfile=uwsgi.pid daemonize=uswgi.log 启动:uwsgi --ini uwsgi.ini 中止:uwsgi --stop uwsgi.pid 重启:uwsgi --reload uwsgi.pid 使用http协议查看网站运行状况,运行正常,可是静态文件没法加载
安装uWSGI服务器后,启动服务器,在浏览器中进行测试. 静态文件访问会有问题.网络
使用nginx的做用 负载均衡:多台服务器轮流处理请求 反射代理:隐藏真实服务器 实现构架: 客户端请求nginx, 再由nginx请求uwsgi, 运行django框架下的python代码负载均衡
nginx+uwsgi也能够用于其它框架的python web代码,不限于django http://nginx.org/en/download.html tar zxvf nginx-1.6.3.tar.gz ./configure make sudo make install 查看版本:sudo sbin/nginx -v 启动:sudo sbin/nginx 中止:sudo sbin/nginx -s stop 重启:sudo sbin/nginx -s reload 经过浏览器查看nginx运行结果 指向uwsgi项目:编辑conf/nginx.conf文件
实践: web.py nginx+uwsgi也能够用于其它框架的python web代码, 不限于django框架
查看wsgi.py