一、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 {
listen 80;
server_name 140.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、配置
在服务器上任意位置新建一个 XXX(文件名).ini 文件,作为uWSGI的配置文件。
内容如下:
[uwsgi]
socket = 127.0.0.1:8000 #端口与nginx配置一致
chdir = /home/ubuntu/WeChatTicket #项目目录,使用绝对路径
module = WeChatTicket.wsgi #wsgi.py在项目中的位置
master = true
processes = 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