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. Day29 派生, 封装 , 多态, 反射

    Day29 派生, 封装 , 多态, 反射 内容概要 派生方法的实践 面向对象之封装 面向对象之多态 面向对象之反射 反射的实践案例 内容详细 1.派生方法的实践 #需求展示 import json ...

  2. 安装mySql 出现 one more product requirements have not been satisified

    安装mySql 出现 one more product requirements have not been satisified 原因是缺少一些依赖环境. 在弹出的对话框中点击 否. 然后点击执行, ...

  3. C++编程笔记(GPU并行编程)

    目录 一.配置并使用 二.代码 三.内存管理 数组的分配 一.配置并使用 环境:Windows10 + CLion + VS2019 cuda的安装,并行的话只需要安装cuda,cuDNN就不必了 编 ...

  4. Django基础笔记2(分页)

    Django Django自带的分页功能 from django.core.paginator import Paginator # 用于分页 curPage = request.GET.get('p ...

  5. input、print、字符串格式化输出

    1.使用input(), print()进行用户交互 """ 以前银行取钱只能拿着存折去柜台跟小姐姐交流才可以 你想干嘛 我想取钱 请输入密码 滴滴滴密码 想取多少钱 我 ...

  6. PL/SQL Developer使用中文条件查询时无数据的解决方法

    1.在PL/SQL Developer中执行sql命令:select userenv('language') from dual; 显示结果为:AMERICAN_AMERICA.ZHS16GBK: 2 ...

  7. [机器学习] sklearn支持向量机

    支持向量机SVM(Support Vector Machine)是一种用来进行模式识别.分类.回归的机器学习模型. SVM原理描述 模型表示 以一个客户好坏分类为案例,客户信息如下所示: 客户信息数轴 ...

  8. [seaborn] seaborn学习笔记1-箱形图Boxplot

    文章目录 1 箱形图Boxplot 1. 基础箱形图绘制 Basic boxplot and input format 2. 自定义外观 Custom boxplot appearance 3. 箱型 ...

  9. 数据结构与算法 -> 并查集

    一.并查集概念 并查集是一种树形的数据结构,顾名思义,它用于处理一些不交集的合并及查询问题. 它支持两种操作: 查找(Find):确定某个元素处于哪个子集,单次操作时间复杂度 O(α(n)),即查询元 ...

  10. react,vue中的key有什么作用?(key的内部原理)

    1.虚拟DOM中的key的作用: key是虚拟dom对象的标识,当状态中的数据发生变化时,vue会根据新数据生成新的虚拟dom,随后vue进行新的虚拟dom与旧的虚拟dom的差异比较. 2.比较规则 ...