一:项目部署的框架

  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服务器的缓存里面?

  3.

  

五:setting.py中的debug=True

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

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

  

  疑问:主机名这么短,难道不会重复吗?  2019-11-02

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

  

  

  

  

django之项目部署知识点的更多相关文章

  1. django 本地项目部署uwsgi 以及云服务器部署 uwsgi+Nginx+Docker+MySQL主从

    一 .django 本地项目部署uwsgi 1 本地部署项目 uwsgi安装测试 通过uwsgi 进行简单部署 安装uwsgi命令:pip install uwsgi -i http://pypi.d ...

  2. Django Web项目部署参考

    环境准备:1.Python 2.7.*]2.pip3.sudo pip install django4.sudo aptitude show python-setuptools5.sudo aptit ...

  3. Django (十三) 项目部署 3

    阿里云项目部署 部署Django项目   1, 配置nginx 1.1 进入:cd /var/www, 将外面压缩好的AXF项目拖入xshell中,并解压 1.2 配置nginx.conf: 将htt ...

  4. Django (十一) 项目部署 2

    阿里云项目部署 ( 如果xshell连接不上阿里云: 解决方法: 1, 在淘宝IP地址库查看当前IP: http://ip.taobao.com/ 2, 点击进入:安全(云盾) -> 安骑士(服 ...

  5. 【Django】Django web项目部署(Nginx+uwsgi)

    一.安装uwsgi 通过pip安装uwsgi. pip install uwsgi 测试uwsgi,创建test.py文件: def application(env, start_response): ...

  6. Django (十) 项目部署 1

    阿里云部署项目 1, 购买阿里云ECS云服务器(可免费试用1个月) 2, 阿里云实例更换为Ubuntu 3, 安全组配置 4, xshell远程连接 5, 创建虚拟环境: 5.1 linux基本命令 ...

  7. django 项目部署在 Apache 后, 设置二级域名(Apache虚拟主机 、 万网二级域名设置)

    上一篇文章简单说了怎么把django的项目部署到Apache上. 现在想弄个二级域名,也就是我原来有个域名 www.mysite.com,现在我想弄个 bbs.mysite.com ,该怎么做呢. 要 ...

  8. Linux学习笔记之Django项目部署(CentOS)----进阶篇

    一.引入 当我们开发好了一个Django项目之后是需要部署到服务器上的,这样才能正式使用这个项目.之前用了一个运行.sh文件的方法让项目得以在后台运行,其实随着学习的深入,这种方法其实是有点low的, ...

  9. Linux Django项目部署

    步骤 .数据库的处理 1.1 上传bbs.sql 1.2 在mysql中创建bbs库,并导入数据库SQL脚本 mysql> create database bbs charset utf8mb4 ...

随机推荐

  1. windows 2008 gpt

    新服务器,4T硬盘,U盘安装Windows Server 2008 R2. 把2008的镜像用UltraISO写入U盘. 安装到分区那块,主分区200G,剩余分区系统自动给分为: 2T + 剩余 两块 ...

  2. Android.mk【转】

    本文转载自:http://android.mk/#simple Secrets of Android.mk Introduction to Android.mk: This document desc ...

  3. Java中的BigDecimal类和int和Integer总结

    前言 我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题.如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0. ...

  4. ES5 Object.defineProperties / Object.defineProperty 的使用

    临时笔记,稍后整理 var obj = { v: , render: function () { console.log(") } }; // Object.defineProperties ...

  5. Retina 屏幕与二倍图

    分辨率 屏幕分辨率:指屏幕可显示的像素的个数 图像分辨率:位图图像包含的像素的个数 对于 Retina 屏它的分辨率是传统屏的两倍,而屏幕大小没有变化,所以它需要的图片的分辨率应该是传统屏幕的两倍(甚 ...

  6. log4j.properties 输出指定类日志

    比如,我只要众多日志中,红色框的日志,则可以指定类:com.dangdang.ddframe.rdb.sharding.parser.SQLParserFactory 修改配置文件: 再次输出结果为:

  7. 《计算机程式设计》Week4 课堂笔记

    本笔记记录自 Coursera课程 <计算机程式设计> 台湾大学 刘邦锋老师 Week4 Functions 4-1 System Function 函数主要分为两大类系统定义函数与使用者 ...

  8. 修改JAVA_HOME失效

    在修改JDK的安装目录的情况下会出现失效的时候,因为jdk在安装的时候自己在path中添加了 C:\ProgramData\Oracle\Java\javapath 这个路径. 解决: 删除 path ...

  9. netcore2.1 在后台运行一个任务

    在 ASP.NET Core 2.1中, 提供了一个名为BackgroundService的类,在 Microsoft.Extensions.Hosting命名空间中,其代码为 namespace M ...

  10. 【ABAP系列】SAP ABAP中将字符格式的金额转换为数值的函数

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP中将字符格式的金 ...