一、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