uWSGI 结合 nginx 配置动静分离

1 环境准备

  1. 上传一个动态站点:/www/supercrm

2 初始配置文件

2.1 uwsgi 配置文件

[uwsgi]
http = :8080 # 项目路径
chdir = /www/aclabe # uwsgi的文件
wsgi-file= aclabe/wsgi.py # 虚拟环境
virtualenv = /root/venv # 进程个数
processes = 2 # 线程个数
threads = 2 # 后台启动,指定日志的输出
daemonize = /www/aclabe/django.log # 清除临时文件
vacuum = true # python文件发生改变自动重启
py-autoreload = 1 # 设置后台运行,保存日志
daemonize = uwsgi.log # 启动项目
uwsgi --ini file

2.2 Nginx配置文件

server {
listen 80;
server_name crm.aclab.com;
location / {
include uwsgi_params;
uwsgi_pass 10.1.19:8080;
}
location /static {
root /www/supercrm;
}
}

2.3 Django配置

# settings.py
SATAIC_ROOT=os.path.join(BASE_DIR,'static/') # 收集动态文件
python3 manager.py collectstatic

3 配置文件设置

  1. nginx与uwsgi不在同一台服务器上,两者使用TCP socket通信,配置如下所示:

    # uwsgi配置文件下
    socket= :8080 # Nginx 配置文件下
    location / {
    include uwsgi_params;
    uwsgi_pass 10.1.19:8080;
    }
  2. nginx与uwsgi在同一台服务器上,优先使用本地机器的unix socket进行通信,这样速度更快。配置如下所示:

    # uwsgi 配置文件下
    socket = /www/supercrm/supercrm.sock
    # 启动uwsgi后会生成该文件 # Nginx 配置文件下
    location / {
    include uwsgi_params;
    uwsgi_pass unix:/www/supercrm/supercrm.sock;
    }
  3. 如果nginx与uwsgi不在同一台服务器上,两者使用http协议进行通信,配置如下所示:

    # uwsgi配置文件下
    socket= :8080 # Nginx 配置文件下
    location / {
    # 注:proxy_pass后面http必不可少!
    proxy_pass http://10.1.19:8080;
    }

4 有大佬写的很详细了

uWSGI配置详解 | 大江狗的博客 (pythondjango.cn)

uWSGI 结合 nginx 配置动静分离的更多相关文章

  1. Nginx配置动静分离

    简单解释 所谓动静分离指的是当访问静态资源时,路由到一台静态资源服务器,当访问是非静态资源时,路由到另外一台服务器 配置实现 修改server块 server块配置参考,配置规则可自行修改,符合正则语 ...

  2. Nginx 配置实例-配置动静分离

    Nginx 配置实例-配置动静分离 1. 静态资源的创建 2. nginx 动静分离的配置 3. 验证 1. 静态资源的创建 这里使用的静态资源主要为 HTML 静态文件和图片. mkdir -vp ...

  3. nginx+tomcat动静分离结构

    本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...

  4. Nginx+Apache动静分离

    Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术.动静分离技术其实是采用代理的方式,在server{}段中加入带正则匹配的location来指定匹配项 针对PHP的动 ...

  5. 《nginx 五》nginx实现动静分离

    Nginx+Tomcat动静分离 动态页面与静态页面区别 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源. 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变. 什么是动 ...

  6. 15 nginx反向代理实现nginx+apache动静分离

    一:nginx反向代理实现nginx+apache动静分离-------------概念--------------------------- nginx反向代理服务器+负载均衡 用nginx做反向代 ...

  7. nginx之动静分离(nginx与php不在同一台服务器)

    nginx实现动静分离(nginx与php不在同一个服务器) 使用wordpress-5.0.3-zh_CN.tar.gz做实验 Nginx服务器的配置: [root@app ~]# tar xf w ...

  8. 使用nginx实现动静分离的负载均衡集群

    一.概述: LB负载均衡集群分两类: LVS (四层)和 nginx或haproxy (七层) 客户端通过访问分发器的VIP来访问网站 |现在应用更复杂,比如现在网站页面有: .php .html . ...

  9. Nginx + Tomcat动静分离 (转)

    什么是动静分离 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时 ...

  10. Nginx网络架构实战学习笔记(三):nginx gzip压缩提升网站速度、expires缓存提升网站负载、反向代理实现nginx+apache动静分离、nginx实现负载均衡

    文章目录 nginx gzip压缩提升网站速度 expires缓存提升网站负载 反向代理实现nginx+apache动静分离 nginx实现负载均衡 nginx gzip压缩提升网站速度 网页内容的压 ...

随机推荐

  1. Promise基础知识

    Promise 1.Promise的前置小知识 进程(厂房) 程序的运行环境 线程(工人) 线程是实际进行运算的东西 同步 通常情况代码都是自上向下一行一行执行的 前边的代码不执行后边的代码也不会执行 ...

  2. 论文解读(PCL)《Probabilistic Contrastive Learning for Domain Adaptation》

    论文信息 论文标题:Probabilistic Contrastive Learning for Domain Adaptation论文作者:Junjie Li, Yixin Zhang, Zilei ...

  3. django 之swagger配置与生成接口文档

    swagger好处不多说,直接上配置步骤 1.安装swagger pip install django-rest-swagger 2.将swagger配置到setting.py文件中 3.在主url. ...

  4. 【机器学习】李宏毅——Adversarial Attack(对抗攻击)

    研究这个方向的动机,是因为在将神经网络模型应用于实际场景时,它仅仅拥有较高的正确率是不够的,例如在异常检测中.垃圾邮件分类等等场景,那些负类样本也会想尽办法来"欺骗"模型,使模型无 ...

  5. Python实验报告(第8章)

    实验8:模块 一.实验目的和要求 1.了解模块的内容: 2.掌握模块的创建和导入方式: 3.了解包结构的创建和使用. 二.实验环境 软件版本:Python 3.10 64_bit 三.实验过程 1.实 ...

  6. 初学《python编程从入门到实践》web应用程序,出现错误

    一开始是遇到了TemplateDoesNotExist的错误,上百度都是说改settings.py里面的TEMPLATE的DIRS, 但我改了还是出现问题, 我用的<python编程从入门到实践 ...

  7. 为测试管理正名,华为云CodeArts TestPlan的守护之道

    摘要:华为云CodeArts TestPlan既有公有云版本,也有下沉到私有云的版本. 本文分享自华为云社区<为测试管理正名,华为云CodeArts TestPlan的守护之道>,作者:云 ...

  8. rvm安装ruby

    macOS11.1 打开终端 使用下面命令查看ruby版本 rvm list known 然后安装 rvm install 2.0.0 查看ruby版本 ruby -v   系统默认使用ruby版本 ...

  9. 编程哲学之 C# 篇:004——安装 Visual Studio

    工欲善其事必先利其器,本章介绍安装Visual Studio这个号称宇宙最强IDE(Integrated Development Environment[集成开发环境]). 安装 Visual Stu ...

  10. 最长上升子序列 II 时间复杂度(nlogn)

    题目:最长上升子序列 II 给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少. 输入格式 第一行包含整数 N. 第二行包含 N个整数,表示完整序列. 输出格式 输出一个整数,表示 ...