位置: 编程技术 - 正文

使用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怎么写爬虫)

  • 合伙企业转让股权如何缴税
  • 文化事业建设费减免政策
  • 钢材贸易公司是做什么的
  • 发票税号不对还能报销吗
  • 非独立核算分公司个税怎么申报
  • 企业注销了,报表的银行存款还有余额
  • 代扣代缴车船税手续费比例
  • 个人生产所得税计算
  • 房租合同印花税计算方法
  • 税控盘费用减免分录
  • 企业给员工的异地安家费交个税吗?
  • 社保费用可以税前扣除吗
  • 把黑龙江省
  • 实收资本记错账如何调整账面价值
  • 资产负债表中应收账款的计算公式
  • 股权转让怎么办理才合理
  • 本月无票收入到下月开具如何申报
  • 小微企业季度超过45万填报增值税
  • 税局代开专票季度未达起征点怎么缴纳地税?
  • mac 磁盘未能分区
  • 退税收入计入营业外收入吗
  • 没有实缴的股份转让要交个人所得税吗
  • 利润表中的其他综合收益
  • 公司收到保险公司赔款
  • 长期借款科目的期末余额
  • 招待费的范畴
  • 农产品进项税额转出怎么算
  • 公司股东内部转让需要人脸识别吗
  • 双层for循环的程序流程图
  • 有限公司股权转让的规定最新
  • 快速搞懂Pinia及数据持久化存储(详细教程)
  • uniapp简介
  • js-cookie vue
  • linux执行php脚本
  • 长期待摊费用属于非流动资产吗
  • 核定征收的纳税人能否享受六税两费减免
  • 电子商业汇票业务
  • 增值税专票只有右上角有发票号码
  • 调整以前年度错账会计分录怎么做
  • 辅助生产车间工人工资计入
  • 购辅助材料会计分录
  • 补发工资如何做账
  • 预缴所得税年底处理账务吗
  • 来料加工分录
  • 国际货运代理一个月大概有多少收入
  • 商业一般纳税人辅导期截止时间
  • 劳务费发票入账科目
  • 金融企业应当按照交易或事项的实质和经济现实
  • 阶段性减免企业社保费实施政策对象
  • 餐饮娱乐服务员
  • 现金解款单的会计分录
  • 长期的待摊费用包括哪些
  • 免抵退税和留抵退税计算题
  • 销售费用主要包括
  • 库存商品坏账准备怎么算
  • 城镇土地使用税减免税政策
  • 其他债权投资减值影响账面价值吗
  • 让windows server 2003 32位支持8G内存大内存
  • iptables配置文件详解
  • win7怎么禁止系统自动更新
  • windows7包含6个版本其中什么最强大支持的功能最多
  • 升级win10系统后电脑变卡处理方法
  • msn无法登录
  • windows10电脑声音
  • nodejs中art-template模板语法的引入及冲突解决方案
  • JavaScript Math.ceil() 函数使用介绍
  • python标准库os中的方法
  • python pyb库
  • 行为怪异的人有问题吗
  • nodejs model
  • js进行表单验证的目的是什么
  • 打破游戏规则
  • python多进程模块
  • ios反编译源代码
  • asyncio使用
  • 河南工商年检网上申报
  • 医保漏缴如何补交
  • 发票盖哪几联
  • 四川税控
  • 下列哪些表述是正确的( )
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设