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)

最新文章

  1. TCP打洞和UDP打洞的区别 (转)
  2. 用Linux自带的Logrotate来管理日志
  3. Codeforces Beta Round #77 (Div. 1 Only) C. Volleyball (最短路)
  4. android-android各大手机系统打开权限管理页面
  5. goldengate 12c对oracle DB的改进
  6. OpenJudge计算概论-计算鞍点
  7. SQL 语句记录
  8. C++问题-Qt Visual Studio Add-in
  9. python 的内建函数
  10. axis2之webservice
  11. T-SQL语句中中括号([])的用法是什么,什么时候该用
  12. HDU 4228 Flooring Tiles 反素数
  13. 修改smali文件,重打包,实现调用第三方SO文件
  14. maven依赖jar包更新,业务jar需同步更新(业务jar依赖API)
  15. 对抗栈帧地址随机化/ASLR的两种思路和一些技巧
  16. Docker最全教程之使用 Visual Studio Code玩转Docker(二十)
  17. logback配置信息
  18. Cocos Creator JS web平台复制粘贴代码(亲测可用)
  19. vim 快捷键(update)
  20. lientDataset的Delta与XML相互转换

热门文章

  1. sql注入的一丢丢
  2. <二>强弱指针使用场景之 多线程访问共享对象问题
  3. Spring03:案例转账功能(事务问题)、动态代理解决、AOP
  4. 【Shell案例】【打印指定行用sed、for循环、head和tail配合使用】4、输出第5行的内容
  5. day33-JSON&Ajax01
  6. WinUI(WASDK)使用MediaPipe检查手部关键点并通过ML.NET进行手势分类
  7. 2021-01-26HDOJ_Lowest_Bit
  8. Jmeter 逻辑控制器之吞吐量控制器(Throughput Controller)
  9. 如何在 .Net 7 中将 Query 绑定到数组
  10. 【运维笔录】局域网实现HTTPS访问,只需Nginx + mkcert