位置: 编程技术 - 正文

使用Nginx+uWsgi实现Python的Django框架站点动静分离(如何使用nginx)

编辑:rootadmin

推荐整理分享使用Nginx+uWsgi实现Python的Django框架站点动静分离(如何使用nginx),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何使用nginx,nginx uwsgi django,nginx uwsgi_pass,nginx uwsgi,nginx use,nginx使用教程,nginx+uwsgi+flask,nginx+uwsgi+flask,内容如对您有帮助,希望把文章链接给更多的朋友!

由于:

Django处理静态文件不太友好;以后有可能需要处理php或者其他资源的请求;

所以考虑结合nginx,使用nignx做它擅长的路由分发功能;同时做动静分离,即Http请求统一由Nginx进行分发,静态文件由Nginx处理,并返回给客户端;而动态的请求,则分发到uWsgi,由uWsgi再分发给Django进行处理。即客户端 <-> nginx <-> socket <-> uwsgi <-> Django

一、环境

系统:centOS 6

python: 2.7(注意:Django要在2.7版本或以上的python来 ) nginx uswgi

所以,安装前,先在控制台输入python —version查看当前python的默认版本,如果在2.7以下,则修改默认版本。(详见附录)

二、安装nginx、uWsgi

安装

安装

安装

三、测试nginx、uWsgi1. 测试nginx启动测试nginx,看是否安装成功启动 sudo service nginx start然后在浏览器中,输入ip地址,看是否出现nginx的欢迎页面,出现则说明安装成功2. 测试uWsgi在服务器上做任意目录下(一般在home下的某一目录),新建test.py,如下:

启动以Http方式访问的uWsgi,在test.py同一目录下,输入如下命令行(是监听的端口,可以改成你想要的端口)

使用Nginx+uWsgi实现Python的Django框架站点动静分离(如何使用nginx)

然后在浏览器中,输入ip地址:,看是否响应hello world,是则说明安装成功P.S. 由于开始时,uwsgi的安装使用了错误的python版本,所以在我的服务器上,uwsgi正确地可执行命令暂时是:/usr/src/download/uwsgi-2.0./uwsgi即完整的命令行是(本文所有的uwsgi命令同此):/usr/src/download/uwsgi-2.0./uwsgi --http : --wsgi-file test.py--http : --wsgi-file test.py至此,uwsgi和nginx安装成功。接下来把nginx、uwsgi、django关联起来。在它们的协作之下,达到我们想要的目标。

四、连接Django和uWsgi如上uWsgi的测试那样,uWsgi监听端口,并把请求分发给test.py,python会执行这个文件,如果我们把test.py分给Django的入口文件,那么就实现了Django和uWsgi的连接。所以,要做的事情有两步:

在项目目录下创建wsgi.py文件启动uWsgi,使用它的wsgi-file指向wsgi.py

wsgi.py内容如下:

启动以Http方式访问uWsgiuwsgi --http : --chdir /home/jiayandev/WHPAIWechat/ --wsgi-file WHPAIWechat/wsgi.py浏览器访问 ip地址:,加上必要的路由,即可访问之前写好的python程序:例如 你是否关注到,启动uwsgi即可,而无需再启动Django了?

五、连接uWsgi和nginx接下来,打通 uWsgi和 nginx之间的连接,它们是通过socket来连接的。第四节所讲的链接 swgi和Django,我们用浏览器访问是能得到正确的响应的,说明连接成功。那么只要在nginx上,实现某些规则下,把前端的请求转发到此端口即可。要做的事情非常简单,即配置nginx的配置文件即可,一般在 /etc/nginx/conf.d/default.conf中。这里,我只设置几条简单的规则

url包含.css、.js等服务器特定目录,设置根目录以上都不匹配的的访问分发到uwsgi上的, nginx转发给uswgi处理

更多规则可以视业务情况而定,完整的配置如下:

同时,uswgi_param内容如下,照抄即可

配置完成后,重启或者reload nginx配置即可生效重启:

reload:

然后直接访问,看看有什么不一样: 等等。这里介绍另一种设置参数的方式,即用配置文件记录uwsgi的参数,启动时,从配置文件里加载参数。参数如下

启动uwsgi命令变成uwsgi WHPAIWechat_uwsgi.ini

python编写简单爬虫资料汇总 爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是urllib2、BeautifulSoup实现简单爬虫,scrapy也有实现过。最近想更好的学习爬虫,那么就尽可能的做记

Python使用Redis实现作业调度系统(超简单) 概述Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。Redis从它的许多竞争继承来的三个主要特点:Redis

在windows系统中实现python3安装lxml lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库。lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定。它与众不同的地方是

标签: 如何使用nginx

本文链接地址:https://www.jiuchutong.com/biancheng/384393.html 转载请保留说明!

上一篇:Python中的条件判断语句与循环语句用法小结(python条件怎么算合法)

下一篇:python编写简单爬虫资料汇总(python怎么写爬虫)

  • 预缴增值税需要预缴城建税吗
  • 个人所得税 补觉
  • 一般纳税人企业所得税是多少
  • 发票收款人和复核人、收款人规定
  • 减免税款会计分录
  • 2021小规模纳税人减免增值税
  • 原材料的运杂费会计分录
  • 防伪税控业务
  • 收付转凭证如何排序装订
  • 地产项目开发
  • 自产产品用于捐赠的会计处理
  • 各部门发生的医保费用
  • 2018年老项目应该如何交税?
  • 行业协会收取的服务费
  • 在PDF里怎么将A4缩小转换为一半打印出来
  • 补贴属于什么手段
  • 个人所得税申报退税的条件
  • 未开票的增值税发票能验旧吗
  • 新准则 预提费用
  • 合伙企业对外投资收益怎么纳税
  • 票据结算包括哪几项
  • 混合销售行为的名词解释
  • 代理报关费0税率
  • 手撕定额发票能不能报销
  • macbookpro如何检测
  • PHP:oci_password_change()的用法_Oracle函数
  • 11的文件管理在哪
  • 外包社保会计分录
  • 发票未到先付款的账务处理
  • 进程program
  • php怎么定义全局变量
  • 预提土增税账务处理
  • vue.js mvvm
  • 专项储备怎么理解
  • php制作留言板包含登录和功能实现
  • 深度学习论文精读[6]:UNet++
  • 如何利用数据有效性制作单元格菜单
  • python读取全部文件
  • 金蝶k3固定资产如何入账
  • 车船税是不是车损
  • 委托加工代收代缴消费税分录
  • 基于vue的开源甘特图控件
  • 应收票据到期后账务处理
  • 小规模纳税人免税怎么做账
  • 外币账户的钱怎么转成人民币
  • 行程单入账多久钱能到账
  • 其他应付款转出的会计分录
  • 应缴国库款和应缴财政专户款有什么区别
  • 增值税加计抵扣账务处理
  • 现金支付中的现金是什么
  • 待抵扣税额转入进项税额的分录
  • 收到其他应付款会计分录
  • 固定资产净残值最后怎么处理
  • 投资性房地产是固定资产吗
  • 工程完工结算报告范本
  • sql server browser被禁用
  • 强行卸载系统应用
  • 怎么才能使牙齿变白
  • mac系统怎么创建文件
  • freebsd怎么安装软件
  • xmp文件是干嘛用的
  • 重装xp系统后键盘没反应
  • linux系统中怎么输入中文
  • win7关机总是自动重启
  • XP IIS5.1 + PHP 5.2.1 + MySQL 5.0.37 + Zend 3.2.6 + phpMyAdmin-2.10.0.2环境配置
  • win8怎么安装win10
  • win7系统如何调节屏幕亮度
  • win10系统如何解除屏保
  • linux系统设置网络
  • windows10专业版界面预览
  • 牛叉叉旗舰店没有了改名成啥了
  • perl数组元素个数
  • python如何安装各种库
  • jquerycdn
  • javascript构造函数创建对象
  • javascript word
  • 河北地方税务局吴瑜
  • 境外取得收入申报期限
  • 开专票必须要有规格型号吗
  • 传统媒介和新媒介
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设