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

背景

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+uwsgi服务器)