当前位置: 首页 > 编程笔记 >

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

秦楚
2023-03-14
本文向大家介绍python框架django项目部署相关知识详解,包括了python框架django项目部署相关知识详解的使用技巧和注意事项,需要的朋友参考一下

这篇文章主要介绍了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() 返回的是主机名

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍详解Python的Django框架中的Cookie相关处理,包括了详解Python的Django框架中的Cookie相关处理的使用技巧和注意事项,需要的朋友参考一下 浏览器的开发者在很早的时候就已经意识到, HTTP's 的无状态会对Web开发者带来很大的问题,于是(cookies)应运而生。 cookies 是浏览器为 Web 服务器存储的一小段信息。 每次浏览器从某个服务器请求页

  • 本文向大家介绍Apache部署Django项目图文详解,包括了Apache部署Django项目图文详解的使用技巧和注意事项,需要的朋友参考一下 前言 Django项目本身就可以启动运行,为什么还需要部署到Apache或者Nginx上呢?初学者都会遇到这个问题,我们来看看官方解释:It's intended only for use while developing. (We're in the b

  • 本文向大家介绍python 默认参数相关知识详解,包括了python 默认参数相关知识详解的使用技巧和注意事项,需要的朋友参考一下 最常见的一种形式是的是为一个或者多个参数指定默认值,这会创建一个可以使用比定义时允许的参数更少的参数调用的函数, 可以用以下三种调用方式: ask_ok('Do you really want to quit?') ask_ok('OK to overwrite th

  • 本文向大家介绍全面剖析Python的Django框架中的项目部署技巧第1/2页,包括了全面剖析Python的Django框架中的项目部署技巧第1/2页的使用技巧和注意事项,需要的朋友参考一下 项目开始时是一个关键时刻,选择会对项目产生长期的影响。有很多关于如何开始使用Django框架的教程,但很少讨论如何专业地使用Django,或如何使用行业公认的最佳做法来确保你的项目规模的持续增长。事前的筹划让

  • 我有以下型号: 类类别(models.Model):名称=模型。字符域(最大长度=255) 类元素(models.Model): 课程主题(models.Model): 元素=模型。ForeignKey(元素)name=模型。夏菲尔德(max_length=255) 我基本上需要在category id=1中添加新主题,并只获得属于类别1的élément列表 我在category id=1中创建了

  • 本文向大家介绍详解关于Spring Cloud 框架热部署的方法,包括了详解关于Spring Cloud 框架热部署的方法的使用技巧和注意事项,需要的朋友参考一下 摘要: 所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件。 1、在对应的pom.xml 文件中添加依赖 2、注:project 中添加 spring-bo

  • 我试图将一个web应用程序部署到Tomcat v.6.0。我知道我需要能够部署一个文件WAR文件。问题是,Play文档指示运行的命令会生成一个目录,而不是一个文件。 命令: 生成一个名为 myapp.war 的目录,其中包含另一个目录 WEB-INF,其中包含应用程序、类、框架、库等的目录, 我正在尝试将其部署到我的 Web 服务器的私有 JVM 实例。我尝试过压缩myapp.war目录,上传,解

  • 本文向大家介绍Python的Django框架中if标签的相关使用,包括了Python的Django框架中if标签的相关使用的使用技巧和注意事项,需要的朋友参考一下 {% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统会显示在 {% if %} 和 {% endif %} 之间的任何内容,例如: {% else %} 标签是可选的: Py