Django + Uwsgi+Nginx 的生产环境部署

windows环境下为django项目配置nginx,并配置ssl证书 文章目录前言准备一、准备nginx二、准备SSL证书三、准备django项目注意:1.记得修改settings.py下面内容:2.建议不要把本地的虚拟环境(项目根目录下的venv文件夹)也拷到服务器上四、配置nginx 前言 刚开始配置花了很多时间,现在记录一下以供以后参考。 准备 django: 2.2.24 python: 3.7 nginx: 1.21.1 一、准备nginx 当官方网站下载nginx:http://nginx.org/en/download.html 解压后运行cmd到对应目录输入 阅读详情

1.django的settings配置

nginx负载均衡:https://www.cnblogs.com/xiaonq/p/10468998.html

https://www.cnblogs.com/xiaonq/p/8932266.html

# 1.修改配置
# 正式上线关闭调试模式, 不会暴露服务器信息
DEBUG = True

# 2.允许的主机
ALLOWED_HOSTS = ['xxx.com','127.0.0.1']

# 3.前端修改接口地址(vue)
http://192.168.56.100:8888/   =>  http://xxx.com/

# 4.MySQL数据库根据实际情况配置(注意地址)

# 5.缓存配置, 改为默认, 最简单形式(配置redis)

# 6.收集静态文件
# 静态资源收集位置
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

# 7.命令行执行
python manage.py collectstatic

2.安装uwsgi 配置uWSGI

2.1 安装uwsgi

'''1. 安装uwsgi'''
[root@linux-node1 /]# workon syl
[root@linux-node1 /]# pip3 install uwsgi     # 安装uwsgi
[root@linux-node1 /]# whereis uwsgi          # 查看uwsgi安装路径
uwsgi: /root/.virtualenvs/syl/bin/uwsgi

2.2 配置uwgsi.ini启动文件

在这里插入图片描述

1.每个请求处理时间为0.5s?
2.当前配置QPS是多少?(每秒能处理的请求数量)
QPS就是160
  • 在uwsgi_conf/uwsgi.ini下新建这个文件
[root@linux-node1 /]# vim uwsgi_conf/uwsgi.ini
[uwsgi]
# 使用Nginx连接时使用,Django程序所在服务器地址和端口号
socket=127.0.0.1:8000
# 项目目录绝对路径
chdir=/teach/shiyanlou_project/syl
# 项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=syl/wsgi.py
# 进程数(机器核数的1倍)
processes=4
# 线程数
threads=50
# uwsgi服务器的角色
master=True
# 存放进程编号的文件
pidfile=uwsgi.pid
# 日志文件
daemonize=uwsgi.log
# 指定依赖的虚拟环境
virtualenv=/root/.virtualenvs/syl

2.3 使用uwsgi启动django:一定要在这个项目目录中

  • 测试命令,和我们下面没有任何关系
'''3. 使用uwsgi启动django:一定要在这个项目目录中'''
[root@linux-node1 /]# uwsgi --http 192.168.56.100:6666 --file syl/wsgi.py --static-map=/static=static
访问项目:http://192.168.56.11

3.安装配置nginx

3.1 安装nginx

[root@linux-node1 /]# sudo apt update                  # 更新apt
[root@linux-node1 /]# sudo apt install nginx           # 安装nginx
[root@linux-node1 /]# sudo systemctl status nginx      # 查看nginx状态

3.2 配置nginx+uwsgi启动

  • 在/etc/nginx/conf.d/文件夹下新建任意名字 xxx.conf即可,写入的内容是官方给的
# /etc/nginx/conf.d/django.conf
server {
    listen       8888;
    server_name  192.168.56.100;
        # /teach/shiyanlou_project/syl/static/admin/css/base.css
        # http://192.168.56.100/static/admin/css/base.css
        location /static {   
            alias /home/worker/opwf_project/opwf/static;
        }
    
        location / {
              include uwsgi_params;
              uwsgi_pass 127.0.0.1:8000;
              uwsgi_ignore_client_abort on;
        }
}

3.3 /etc/nginx/nginx.confnginx主配置文件解读(不用变)

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
	worker_connections 768;      # 链接数量
}

http {
	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	
	access_log /var/log/nginx/access.log;         # 1.客户浏览器访问nginx服务记录(客户户端访问异常时可以查看)
	error_log /var/log/nginx/error.log;           # 2.nginx错误日志(nginx启动时报错的日志)
	include /etc/nginx/conf.d/*.conf;             # 3.nginx扩展配置文件
	include /etc/nginx/sites-enabled/*;
}

4. uwsgi和nginx 启动、关闭、查看日志

'''1.启动并查看nginx日志'''
[root@linux-node1 demo2]# systemctl restart nginx         # 开启nginx
root@dev:uwsgi_conf# tail -f /var/log/nginx/access.log    # 查看nginx接入日志
root@dev:uwsgi_conf# tail -f /var/log/nginx/error.log     # 查看nginx错误日志

'''2.启动并查看uwsgi日志'''
root@dev:uwsgi_conf# cd /teach/shiyanlou_project/uwsgi_conf     # 进入实验楼目录
[root@linux-node1 demo2]# uwsgi --ini uwsgi.ini                 # 启动uwsgi的django项目
# http://192.168.56.100:8888/ 访问项目
[root@linux-node1 demo2]# uwsgi --stop uwsgi.pid                # 关闭uwsgi
[root@dev:uwsgi_conf# tail -f uwsgi.log                         # 查看uwsgi日志
(syl) root@dev:uwsgi_conf# ps -ef|grep uwsgi       # 查看uwsgi服务是否启动
root      92328  89266  0 14:37 pts/1    00:00:00 grep --color=auto uwsgi
(syl) root@dev:uwsgi_conf# netstat -anptu | grep 8888     # 查看8888端口被哪一个程序占用
access_log /var/log/nginx/access.log;   # 接入日志(win10上的浏览器访问nginx的日志)
error_log /var/log/nginx/error.log;     # 当你启动、关闭nginx时报错
include /etc/nginx/conf.d/*.conf;       # nginx配置扩展文件
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
	worker_connections 768;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	# server_tokens off;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# SSL Settings
	##

	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;

	# gzip_vary on;
	# gzip_proxied any;
	# gzip_comp_level 6;
	# gzip_buffers 16 8k;
	# gzip_http_version 1.1;
	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}


#mail {
#	# See sample authentication script at:
#	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#	# auth_http localhost/auth.php;
#	# pop3_capabilities "TOP" "USER";
#	# imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#	server {
#		listen     localhost:110;
#		protocol   pop3;
#		proxy      on;
#	}
# 
#	server {
#		listen     localhost:143;
#		protocol   imap;
#		proxy      on;
#	}
#}
Django+Nginx+uWSGI生产环境部署实战指南 在现代Web开发中,Django作为Python生态中最流行的Web框架之一,其生产环境部署方案直接关系到应用的性能和稳定性。通过Nginx反向代理与uWSGI应用服务器的组合,可以实现高效的请求处理和静态文件服务。这种架构的核心优势在于Nginx的高并发处理能力和uWSGI对Python应用的深度优化,特别适合需要支撑2000+ QPS的中小型项目。部署过程中涉及虚拟环境隔离、进程管理、静态文件优化等关键技术环节,正确的配置能显著提升系统的吞吐量和安全性。本文以mxonline项目为例,详细演示了从服务器 阅读详情

相关推荐

C++开发基础之掌握常用的三种异步编程模型

以上是三种常见的C++异步编程模型,每种模型都有其适用的场景和特点。根据具体需求,你可以选择合适的模型来进行异步编程。

dotnet研习社 2175

Python进阶(三十七)Windows7使用nginx+apache部署django项目

Python进阶(三十七)-Windows7使用nginx+apache部署django项目  Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。   目前国内各大门户网站已经部署了nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了nginx,如六房间、酷6等。新近发现nginx 技术在国内日趋火热,越来越多的网站开始部署nginx。

IT全栈 华强工作室 5万+

C#.NET斗地主服务端核心架构与高性能实现

斗地主作为典型的实时对战棋牌逻辑,本质是状态驱动的分布式协同问题。其技术内核涵盖有限状态机建模、低延迟网络同步、无GC内存操作与轻量级AI决策等关键能力。在.NET平台下,借助Span<T>、ImmutableArray、命令/事件总线与内存池等特性,可构建出高吞吐(200+ QPS)、低延迟(<150ms)、强一致的可落地服务端。本文聚焦C#.NET生态中斗地主核心模块的设计取舍与压测验证,深入解析状态机驱动、CardSet结构体优化、Kestrel中间件锁、规则+概率混合AI等实战方案,为实时对战类业务

weixin_29726381的博客 345

生产环境部署:Django+uWSGI+Nginx(来自明总的支持)

uWSGI的主要特点:1.超快的性能2.低内存占用(实测为apache2的mod_wsgi的一半左右)3.多app管理(不用纠结用哪个端口好)4.详尽的日志功能(可以用来分析app性能和瓶颈)5.高度可定制(内存大小限制,服务一定次数后重启) 安装配置uwsgi:1.pip install uwsgi2.配置uWSGI,在项目中新建文件uWSGI.ini,编写如下配置 [uwsgi]socket=...

Mr.韩的博客 490

告别PXE!用iPXE在CentOS 8.5上搭建一个能同时装Win11和Linux的万能网络启动盘

本文详细介绍了如何在CentOS 8.5上使用iPXE搭建支持Windows 11和Linux双系统部署的全能网络启动盘。通过对比传统PXE的局限性,展示了iPXE在HTTP协议支持、多架构适配和智能脚本方面的优势,提供从环境准备、服务配置到智能菜单开发的完整解决方案,显著提升系统部署效率。

weixin_29278805的博客 265

python基础:工作会用到的95%的基础python代码都在这了(万字详解!)

本文是一份Python编程语言的快速参考备忘单,涵盖了Python基础语法和常用数据类型。主要内容包括:Python入门指南(打印、变量声明)、内置数据类型(字符串、数值、列表、元组、集合、字典等)、控制结构(判断、循环)、函数定义、文件处理操作以及字符串操作方法(切片、循环遍历等)。这个备忘单特别适合初学者快速查阅Python基础语法,同时也提供了数据类型转换、f-string格式化字符串等实用技巧。通过简洁的代码示例展示了Python的基本语法规则和典型用法。

数据知道的博客 8160

Django生产环境部署——Nginx和uwsgi详解(四)

Django开发应用网站部署上线,Nginx以及uwsgi的参数详解,WSGI、uWSGI和uwsgi三者的关系与区别!

weixin_56175042的博客 2886

FPGA发展趋势:异构计算、AI加速、可重构计算

FPGA技术正朝着异构计算、AI加速和可重构计算三大方向发展。作为高效能计算平台,FPGA在异构架构中与CPU/GPU协同工作,发挥低延迟、高能效优势;在AI领域通过定制化架构实现边缘推理加速;其硬件可重构特性支持动态适应多样化计算需求。最新进展包括部分可重构技术、智能网卡和边缘AI应用。未来,FPGA将在自适应计算、量子接口和软件定义硬件等领域持续突破,成为异构计算架构的核心组件,推动硬件与软件的深度融合。性能对比显示FPGA在能效比(5-20TOPS/W)和灵活性方面具有显著优势。

2301_79143213的博客 969

Nginx

Nginx配置文件: worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; ser...

ggory的博客 329

5、卡尔ibration中Denavit - Hartenberg与Hayati约定的转换

本文详细介绍了机器人运动学中Denavit-Hartenberg(DH)参数与Hayati参数的定义、适用场景及其相互转换方法。重点分析了两种参数在描述关节坐标系变换时的差异,特别是在处理平行或接近平行关节轴时的稳定性问题,并给出了从DH到Hayati及反向转换的具体数学公式与流程图。通过参数转换,可在不改变运动学模型的前提下提升建模精度与计算鲁棒性,适用于机器人标定与运动学分析等应用场景。

h0i1j2k3l的博客 121

论文翻译:2024 High-Confidence Computing A survey on large language model (LLM) security and privacy: The

大型语言模型(LLMs),如ChatGPT和Bard,已经彻底改变了自然语言理解和生成。它们具有深度语言理解能力、类似人类的文本生成能力、上下文意识和强大的问题解决技能,使它们在各个领域(例如搜索引擎、客户支持、翻译)中变得不可或缺。同时,LLMs也在安全领域获得了关注,揭示了安全漏洞并展示了它们在安全相关任务中的潜力。本文探讨了LLMs与安全性和隐私的交集。具体来说,我们研究了LLMs如何积极影响安全性和隐私,与它们使用相关的潜在风险和威胁,以及LLMs内部的固有漏洞。

CSPhD-winston的博客 1722

Django+uWSGI+Nginx的生产环境部署

环境 Django 1.11 CentOS 7.2 Python 2.7.11 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署经测试,网上大部分教程在Django1.11的情况下,使

hifour的博客 2142

Open3D 计算点云基本特征

在 Open3D 中,可以通过 PCA(主成分分析)来求得点云的特征值和特征向量。然后基于这些特征值,进一步计算各种几何特征,如线性、平面性、球度等。

纵马踏花向自由 1606

Nginx web服务器+uWSGI web服务器+Django生产环境部署

nginx,uwsgi,django的基本搭建与访问

揽星逐月酒微醺的博客 1490

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

django项目之生产环境部署Django+uwsgi+nginx

目录篇:Django总目录篇 点击跳转 目录 部署前戏      uwsgi介绍     让Django并发多少都不是问题 linux实战部署Django+uwsgi+nginx     1.环境准备     2.部署uswgi并测试     3.部署Django程序并测试     4.usgi与nginx之间的线路通讯配置      5.监控uwsgi的负载     6.安...

Burgess_zheng的博客 1217

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Django + Uwsgi + Nginx 的生产环境部署

1,Django + Uwsgi + Nginx介绍 1. 什么是WSGI(WSGI是一种python专用的web协议 和http类似): 1. WSGI是一种规范,它定义了使用python编写的web app(django)与web server(uWSGI)之间接口格式,实现web app与web server间的解耦。 2.WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要...

hsw的博客 391

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Django + Uwsgi+Nginx的生产环境部署

1.django的settings配置 https://www.cnblogs.com/xiaonq/p/8932266.html # 1.修改配置 # 正式上线关闭调试模式, 不会暴露服务器信息 DEBUG = False # 2.允许的主机 ALLOWED_HOSTS = ['xxx.com','127.0.0.1'] # 3.前端修改接口地址 http://127.0.0.1:8000/ => http://xxx.com/ # 4.MySQL数据库根据实际情况配置(注意地

weixin_51118163的博客 238

Django + uWSGI + Nginx 的生产环境部署,及WSGI & uwsgi & uWSGI 的作用

uWSGI的 介绍 参考地址 Nginx Nginx是一个Web服务器,其中的HTTP服务器功能和uWSGI功能很类似 但是Nginx还可以用作更多用途,比如最常用的反向代理、负载均衡、拦截攻击等,而且性能极高 Django Django是一个Web框架,框架的作用在于处理request和 reponse,其他的不是框架所关心的内容。 所以如何部署Django不是Django所需要关心的。 这里举个小例子: 我们的浏览器是 出生在海外的华侨,通过HTTP(飞机) 从 Nginx(日本) 回到

海里鱼的技术博客 441

Django + Uwsgi + Nginx 的真实生产环境部署

一. 重要的概念 1、什么是WSGI(WSGI是一种python专用的web协议 和http类似): WSGI是一种规范,它定义了使用python编写的web app(django)与webserver(uWSGI)之间接口格式,实现web app与web server间的解耦。 WSGI 没有官方的实现, 因为WSGI更像一个协议.只要遵照这些协议,WSGI应用(Application)都可...

longlong6682的博客 609

Django + Uwsgi + Nginx 实现生产环境部署1

项目开发完毕后,需要将代码放到服务器上,这样用户才能访问。接下来我们一步一步来进行一波部署操作。 1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将ALLOWED_HOSTS配置设置为:当前服务器IP或*,如: ALLOWED_HOSTS = ["*",] 代码压缩上传至服务器, unzip wxbox.zipcd wxbox  python3 man...

weixin_30788731的博客 213

0.1 Django + Uwsgi + Nginx 的生产环境部署之理论篇

目录 1. web容器 2. 什么是WSGI(WSGI是一种python专用的web协议和http类似): 3. uWSGI(web服务器 和nginx类似) 4. Nginx 5. Django 1. Django + Uwsgi + Nginx方案 2、Django + uwsgi方案 3. nginx和uWSGI特点 Django + Uwsgi + Nginx 的生产环境部署 参考文档: wsgi详解:https://blog.youkuaiyun.com/li_101357/article

weixin_45167178的博客 350

Django+Uwsgi+Nginx的生产环境部署

**1、什么是WSGI(WSGI是一种*python专用的*web协议 和http类似): 1. WSGI是一种规范,它定义了使用python编写的web app(django)与web server(uWSGI)之间接口格式,实现web app与web server间的解耦。 2. WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行 3. **WSGI****实质:**WSGI是一种描述web服务器(如n

qq_45618388的博客 183

Django2.2 + uwsgi + Nginx+python3 的生产环境部署

Nginx搭建Django 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署 环境 ubuntu 16.04 python3.5+ nginx1.10 django2.2 一,...

关注后厂程序员 1352

ubuntu Django + Uwsgi + Nginx 的生产环境部署

一、概述 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署 uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpU...

weixin_30270889的博客 181

Django项目生产环境部署实战:从uWSGI配置到Nginx优化

Web应用部署是软件开发的关键环节,涉及服务架构设计与性能优化。以Django框架为例,其生产环境部署通常采用WSGI协议规范,通过uWSGI作为应用服务器处理动态请求,配合Nginx实现反向代理和静态文件服务。这种架构能显著提升并发处理能力,特别适合在线教育平台等高交互场景。在部署mxonline这类Django项目时,需要重点关注静态文件收集、Gunicorn/uWSGI进程管理、Nginx缓存策略等核心配置。通过合理设置uWSGI的worker进程数和Nginx的keepalive超时,可有效平衡资源

weixin_30315435的博客 525
上一篇: ModelViewSet更多使用和ModelViewSet源码分析
下一篇: Cookie 和 Session
白三岁吖.
博客等级 码龄6年 8粉丝 41原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值