美文网首页
python+Django(8)—远程服务器部署之nginx+u

python+Django(8)—远程服务器部署之nginx+u

作者: 小盼盼_1 | 来源:发表于2021-02-27 13:44 被阅读0次

    背景

    Django代码本地是通过python manage.py runserver指令完成相应的调试,使用的是Django自带的WSGI Server运行,开启的方式是单进程的。考虑到单进程支持的并发量不佳,经过调研选择nginx+uWSGI来完成远程服务器部署。

    小工具平台nginx和uWSGI服务器之间配合工作

    1)首先浏览器发起http 请求到nginx 服务器

    2)Nginx 根据接收到请求包,进行url 分析,判断访问的资源类型,如果是静态资源,直接读取静态资源返回给浏览器

    3)如果请求的是动态资源就转交给uwsgi服务器,uwsgi 服务器根据自身的uwsgi 和WSGI 协议,找到对应的Django 框架。

    4)Django 框架下的APP应用进行逻辑处理后,将返回值发送到uwsgi 服务器,然后uwsgi 服务器再返回给nginx。

    5)最后nginx将返回值返回给浏览器进行渲染显示给用户。

    附:小工具平台值的设置:

    nginx配置:

    location /tool/ {                                                # 动态资源请求到uWSGI服务器

                    include uwsgi_params;

                    uwsgi_pass 127.0.0.1:8000;         # 需要与mysite.xml配置文件中的 IP 和端口号必须保持一致

                    uwsgi_param UWSGI_SCRIPT mysite.wsgi;

                    uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite;              #项目路径

     }

    location /tool/static {                                   # 静态资源直接读取资源返回给浏览器

            alias  /data/wwwroot/mysite/static/;         #静态资源存放的位置                 

     }

    uWSGI配置:

    mysite.xml文件配置如下:

    注:mysite.xml文件的位置需要与manage.py文件在同一级

    相关文章

      网友评论

          本文标题:python+Django(8)—远程服务器部署之nginx+u

          本文链接:https://www.haomeiwen.com/subject/audaaktx.html