美文网首页
flask+uwsgi+nginx(upstream prema

flask+uwsgi+nginx(upstream prema

作者: 请叫我雯子小姐的小爷 | 来源:发表于2019-08-21 19:41 被阅读0次

    先摆一张问题的截图,nginx的error.log
    问题显示的是upstream prematurely closed connection while reading response header from upstream, ...


    image.png

    这个可以理解为,nginx收到了一个GET请求,但是,当我将这个转交给uwsgi处理的时候,无法联系上uwsgi。然后我又查看了uwsgi的日志,开启后是正常的运行状态,但是,当我试图进入网站时,他会显示 ‘-- unavailable modifier requested: 0'
    这其实就是Python的映射问题,需要安装一个插件,uwsgi-plugin-python(如果用的Python3 的话是 uwsgi-plugin-python3),可以直接 sudo apt install uwsgi-plugin-python 的方式来安装,

    sudo apt install uwsgi-plugin-python #python
    sudo apt install uwsgi-plugin-python3 #python3
    

    然后在uwsgi的配置文件中加上

    lugin = python3  # python3
    plugin = python #python
    

    下面附上我的uwsgi配置和nginx配置

    #uwsgi.ini
    [uwsgi]
    socket = 127.0.0.1:8001
    #运行在127.0.0.1:8001端口上
    
    chdir = /mnt/websites/flask
    #flask程序的目录在chdir这里定义
    
    wsgi-file = app.py
    #flask主程序名字
    
    callable = app
    程序中的主变量名字
    
    buffer-size=32768
    接受的大小,需设置一下,不然也会出错
    
    plugin = python3
    #添加Python的映射
    
    processes = 4
    threads = 2
    logto = /mnt/websites/log/%n.log
    stats = 127.0.0.1:9191
    
    # nginx.conf
    server {
            listen       81; 
            server_name  192.168.1.100;
            #charset koi8-r;
            access_log  /mnt/websites/log/access.log;
            error_log  /mnt/websites/log/error.log;
    
            location / {
                include        uwsgi_params;
                uwsgi_pass     127.0.0.1:8001;
                uwsgi_param UWSGI_PYHOME /usr/local/bin/pythonenv/flaskenv;
                uwsgi_param UWSGI_CHDIR  /mnt/websites/flask;
                uwsgi_param UWSGI_SCRIPT app:app;
            }
    
        }
    

    配置完成后将nginx.conf 放到 /etc/nginx/conf.d/ 文件夹下,并且重启nginx服务以及uwsgi服务

    sudo mv nginx.conf /etc/nginx/conf.d/
    sudo /etc/init.d/nginx restart
    uwsgi -d --ini uwsgi.ini #-d意味着后台守护运行,--ini是从ini文件中读取配置
    

    这样在浏览器输入192.168.1.100:81(或者你的公网地址:81)就会自动跳转到你的flask网站

    相关文章

      网友评论

          本文标题:flask+uwsgi+nginx(upstream prema

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