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 {
    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

你可能感兴趣的:(NGINX+uWSGI配置)