django的nginx配置

Posted jimmyhe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django的nginx配置相关的知识,希望对你有一定的参考价值。

django

在引入第三方模块的时候保证服务的高可用,要设立一个备份接口,当主接口宕机时可以设置一个超市参数来使用备份的接口。

nginx

  • 反向代理器,网站服务器,负载均衡
  • 基本命令
    • sudo nginx启动
    • sudo nginx -s stop
    • sudo nginx -s quit
    • sudo nginx -s reopen
  • 关键配置模块

    • events配置域:网络连接相关配置(I/O模块)
    • server配置域:相关服务节点配置
    • location
    • http配置域
    • upstream配置域:反向代理配置域
  • 层次关系

    events 
      ....
    
    http 
      ...
      upstream 
          ...
      
      server 
          ...
          location 
              ...
          
      
    

WSGI协议:web server 和 web application通信的规范

uwsgi : webserver 接受客户端的请求,传送给 web application

web application :django flask tornado

django uwsgi部署

  1. uWSGI可以进行多线程调度,进程监控
  2. 提供完善的请求日志处理
  3. runserver 性能差

为什么有了uwsgi还要使用nginx

  • nginx提供了更加安全的服务保障
  • 提供反向代理,负载均衡等功能
  • 对于静态文件处理能力强

nginx配置步骤

  1. uwsgi启动django应用服务

  2. 修改nginx配置文件完成反向代理配置

    /etc/nginx/sites-available/nginx.conf备份

    upstream uwsgi 
     server 127.0.0.1:8000;
    
    
    server 
     listen:80;
     server_name: .xxxxx.com 无论一级域名还是二级域名
     charset:utf-8;
    
     access_log # 可以配置日志文件
    
     location / 
         proxy_pass http://uwsgi;   # 所有访问域名的连接转发到配置好的upstream 
     
    

    删除源/nginx.conf 给新配置的conf设置软连接

  3. 收集静态文件,完成静态文件寻址配置

    设置好static_url 
    python manage.py collect

    拷贝生成的目录

    server 
     listen:80;
     server_name: .xxxxx.com 无论一级域名还是二级域名
     charset:utf-8;
    
     access_log # 可以配置日志文件
    
     location / 
         proxy_pass http://uwsgi;   # 所有访问域名的连接转发到配置好的upstream 
     
    
     location /static 
         alias 拷贝好的目录
     
    

    nginx -s reload

https部署,可以在腾讯云申请个人域名免费https,配置好server中的certificate

负载均衡 反向代理upstream,配置权重,直接在每一个配置好的upstream中配置权重weight。关闭uwsgi端口的访问。

以上是关于django的nginx配置的主要内容,如果未能解决你的问题,请参考以下文章

Django部署Nginx-静态文件配置

django的nginx配置

如何配置 uwsgi + nginx + Django + websocket?

python3 + Django + uwsgi + nginx 配置部署笔记

Django、Apache 和 Nginx 的配置

ubuntu 配置 nginx + uwsgi + django 记录