美文网首页
NGINX+uWSGI配置

NGINX+uWSGI配置

作者: 晖_918c | 来源:发表于2018-10-18 17:57 被阅读0次

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

          本文链接:https://www.haomeiwen.com/subject/dejszftx.html