美文网首页
centos7部署uWSGI+Nginx+Flask

centos7部署uWSGI+Nginx+Flask

作者: Kira丶陈 | 来源:发表于2019-04-06 23:20 被阅读0次

    1.安装nginx

    0.添加使用yum源安装

    rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    yum -y install nginx
    systemctl start nginx.service  #启动
    systemctl enable nginx.service  #开机启动
    

    1.依赖库安装

    yum install gcc-c++   #编译源码用
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    yum install -y openssl openssl-devel
    

    2.下载nginx

    上官网查看当前版本情况:https://nginx.org/en/download.html,显示如下:
    Mainline version 目前团队开发版
    Stable version 稳定版
    Legacy versions 历史稳定版本
    建议选择稳定版。

    wget -c https://nginx.org/download/nginx-1.14.2.tar.gz   //根据版本号下载
    

    3.编译nginx

    tar -zxvf nginx-1.14.2.tar.gz
    cd nginx-1.14.2
    
    ./configure     #使用默认配置
    make
    make install
    

    4.启动nginx

    whereis nginx  #查看安装路径
    /usr/local/nginx/sbin/nginx     #启动nginx
    /usr/local/nginx/sbin/nginx  -s stop #停止nginx
    /usr/local/nginx/sbin/nginx  -s reload #重启nginx
    

    5.配置nginx

    nginx配置反向代理,将网络访问转发至uwsgi模块,uwsgi模块接收消息后,交由flask处理,在将flask处理结果反馈给nginx,从而完成一次访问。nginx和uwsgi采用socket交互。

    server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                include uwsgi_params;                       # 导入uwsgi配置 
            uwsgi_pass 127.0.0.1:5051;                  # 转发端口,需要和uwsgi配置当中的监听端口一致
                uwsgi_param UWSGI_CHDIR /root/webserver;         # 项目根目录
                uwsgi_param UWSGI_SCRIPT access:app; 
            }
    }
    
    

    配置完成后,重启nginx服务器。
    参考文档:
    https://www.cnblogs.com/Liang-jc/p/8137956.html
    https://www.cnblogs.com/kaid/p/7640723.html

    2.uwsgi

    1.安装

    pip install uwsgi
    pip install flask
    

    2.配置

    新建flask项目,在项目目录下创建uwsgi配置文件,uwsgi配置文件支持多种格式,这里以ini格式为例。

    [uwsgi]
    socket = 127.0.0.1:5051      #监听socket端口
    pythonpath = /root/webserver  #项目目录
    module = access      #入口模块
    wsgi-file = /root/webserver/access.py    #入口文件
    callable = app   #启动函数,flask一般为 app
    processes = 4     #uwsgi进程数
    threads = 2     #uwsgi线程数
    daemonize = /root/webserver/server.log  #日志路径
    

    3.启动服务

    uwsgi --ini webconfig.ini &   #启动uswgi模块
    

    服务启动后,即可访问http://xxx.xx.xx.xx

    相关文章

      网友评论

          本文标题:centos7部署uWSGI+Nginx+Flask

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