python框架django项目部署相关知识详解


Posted in Python onNovember 04, 2019

这篇文章主要介绍了python框架django项目部署相关知识详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一:项目部署的框架

nginx和uWSGI在生产服务器上进行的部署

二:什么是nginx?

nginx是一个web服务器。

什么是web服务器?

web服务器则主要是让客户可以通过浏览器进行访问,处理HTML文件,css文件,js文件,图片等资源。web服务器一般要处理静态文件。对接服务器。

什么是静态文件?

css,js,html,图片等不需要后台进行逻辑处理的文件。

特点:一般将静态文件放在web服务器里面。如nginx服务器中,做到动态静态分离的处理。

什么是动态文件?

除了静态文件之外,一般都是动态文件。

特点:动态文件一般web服务器不直接进行处理,例如ngnix会将动态资源转发给应用服务器(反向代理),让应用服务器进行处理,并将处理结果,返给nginx,nginx在将结果返回浏览器。

什么是应用服务器?

应用服务器直接面对的是我们写的程序。

特点:对接程序函数,处理业务逻辑。

uWSGI是一个应用服务器。

三:uWSGI和nginx之间通信的简单过程。

uWSGI接到请求后,将请求包进行处理,处理成wsgi(一种通信协议)可以接受的格式,并发送给wsgi,wsgi根据请求,调用应用程序中的某个文件中的某个函数,进行处理,处理完成后,将返回值,再次交给wsgi,wsgi将返回值进行打包,打包成uWSGI接受的格式,然后uWSGI将结果转发给nginx,ngnix最终将返回值给浏览器。

四:为什么分成静态服务器和应用服务器进行部署?

实现了动和静分离。提高访问静态文件的速度。降低对后台的访问。提高了网站的吞吐量。

实现动静分离的方式:

1. 页面静态化,页面静态化后的页面是放在哪里,硬盘还是缓存中。

2. 静态文件例如:图片还有html,css文件时放在web服务器上,还是web服务器的缓存里面?

五:setting.py中的debug=True

我们希望本机访问的时候,开启调试模式,错误了给错误信息的详细页面,其他机器访问的时候,关闭调试模式,错误了给他们404页面。

socket.gethostname() 返回的是主机名

python框架django项目部署相关知识详解

# setting.py中改变DEBUG=True
import socket 
if socket.gethostname() == "xxx":
  DEBUG =True
else:
  DEBUG = False

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
一个超级简单的python web程序
Sep 11 Python
Python制作简单的网页爬虫
Nov 22 Python
python学习之面向对象【入门初级篇】
Jan 21 Python
关于python的bottle框架跨域请求报错问题的处理方法
Mar 19 Python
解决Python2.7读写文件中的中文乱码问题
Apr 12 Python
python中in在list和dict中查找效率的对比分析
May 04 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
python实时检测键盘输入函数的示例
Jul 17 Python
tensorflow之并行读入数据详解
Feb 05 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
Pygame如何使用精灵和碰撞检测
Nov 17 Python
python tkinter控件布局项目实例
Nov 04 #Python
python requests抓取one推送文字和图片代码实例
Nov 04 #Python
python 五子棋如何获得鼠标点击坐标
Nov 04 #Python
Pandas 缺失数据处理的实现
Nov 04 #Python
python tkinter canvas使用实例
Nov 04 #Python
python matplotlib饼状图参数及用法解析
Nov 04 #Python
python制作朋友圈九宫格图片
Nov 03 #Python
You might like
php mysql数据库操作分页类
2008/06/04 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
js 判断 enter 事件
2009/02/12 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
Python中atexit模块的基本使用示例
2015/07/08 Python
python利用sklearn包编写决策树源代码
2017/12/21 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Python模块相关知识点小结
2020/03/09 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
学python最电脑配置有要求么
2020/07/05 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
学生自我鉴定范文
2013/10/04 职场文书
大学生应聘推荐信范文
2013/11/19 职场文书
优秀老师事迹材料
2014/02/05 职场文书
保密工作责任书
2014/04/16 职场文书
献爱心活动总结
2014/05/07 职场文书
安全施工标语
2014/06/07 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js