NGINX+uWSGI配置

一、NGINX和uWSGI介绍 1、NGINX NGINX是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器。 NGINX以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而闻名。
2、uWSGI 2.1 WSGI
WSGI是Web 服务器(uWSGI)与 Web 应用程序或应用框架(Django)之间的一种低级别的接口。
2.2 uWSGI
uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。
我们的服务器得到的请求首先由NGINX反向代理到uWSGI进行处理,uWSGI则将请求交给Django处理,二者通过WSGI协议交互。
二、NGINX安装与部署 1、安装 sudo apt-get install nginx 即可
2、启动 切换到 /usr/sbin 文件夹,输入sudo ./nginx 启动NGINX,这时在本机输入服务器IP能看到 "Welcome to NGINX!" 的欢迎页面。
3、修改配置 在 /etc/nginx/conf.d/ 目录中添加 xxxx(文件名).conf 文件(需要sudo权限),内容如下:

server { listen80; server_name140.143.xx.xx #服务器IP charset UTF-8; #log文件地址 access_log/var/log/nginx/WeChatTicket_access.log; error_log/var/log/nginx/WeChatTicket_error.log; client_max_body_size 75M; #NGINX反向代理请求给uWSGI location /wechat { include /etc/nginx/uwsgi_params; uwsgi_pass 127.0.0.1:8000; #与uWSGI配置一致 uwsgi_read_timeout 2; } location /api { include /etc/nginx/uwsgi_params; uwsgi_pass 127.0.0.1:8000; #与uWSGI配置一致 uwsgi_read_timeout 2; } #静态文件托管给NGINX管理 location / { root /home/ubuntu/WeChatTicket/static/; #静态文件目录 } }

至此,NGINX的配置全部完毕。
三、uWSGI配置 1、安装 使用pip安装即可。
2、配置 【NGINX+uWSGI配置】在服务器上任意位置新建一个 XXX(文件名).ini 文件,作为uWSGI的配置文件。
内容如下:
[uwsgi]socket = 127.0.0.1:8000 #端口与nginx配置一致chdir= /home/ubuntu/WeChatTicket#项目目录,使用绝对路径module= WeChatTicket.wsgi #wsgi.py在项目中的位置master= trueprocesses= 4 #最大开启的进程数# ... with appropriate permissions - may be needed # chmod-socket= 664 # clear environment on exit vacuum= true

3、启动 输入uwsgi --ini XXX.ini 即可启动。
同时启动uWSGI和Nginx后,我们的Django的页面就可以正常访问了,配置全部完成。
参考:
1、https://blog.csdn.net/eightbrother888/article/details/79503716
2、https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
3、https://www.cnblogs.com/wspblog/p/8575101.html

    推荐阅读