django + nginx + uWSGI部署

##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, 再由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

相关文章
相关标签/搜索