美文网首页
Flask配合uwsgi 和nginx实现域名解析

Flask配合uwsgi 和nginx实现域名解析

作者: Chting | 来源:发表于2023-04-20 11:22 被阅读0次

    uwsgi不支持windows所以以centos作为参考

    创建flask项目

    mkdir /www/wwwroot/ugdemo
    touch app.py
    

    编辑app.py内容为

    from flask import Flask
    
    
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        return 'hello flask!'
    
    @app.route('/demo')
    def demo():
        return 'hello demo!'
    
    if __name__ == '__main__':
        app.run('0.0.0.0', 9200)
    

    安装flask包,尝试运行

    ##安装包
    pip install flask
    ##安装成功后,执行看是否能正常运行
    python app.py
    

    创建uwsgi

    先安装

    pip install uwsgi
    

    配置app.ini

    [uwsgi]
    ##执行运行用http,用nginx写socket,注意端口要和flask一致
    #http=127.0.0.1:9200
    socket=127.0.0.1:9200
    chdir=/www/wwwroot/ugdemo
    wsgi-file=app.py
    callable=app
    #指定工作进程
    processes=2
    #主进程
    master=true
    #指的后台启动 日志输出的地方
    daemonize=/www/wwwroot/ugdemo/logs/uwsgi.log
    #保存主进程的进程号
    pidfile=/www/wwwroot/ugdemo/logs/uwsgi.pid
    
    

    启动uwsgi

    uwsgi --ini app.ini
    

    如果没有报错,就说明启动正常,在logs目录下,会有两个文件,uwsgi.log记录的是uwsgi的工作日志,uwsgi.pid记录的是uwsgi的主进程id。

    停止和重启的命令如下

    uwsgi --stop /www/wwwroot/ugdemo/logs/uwsgi.pid
    uwsgi --reload /www/wwwroot/ugdemo/logs/uwsgi.pid
    

    将uwsgi与nginx一起使用

    server { 
        listen       80;
        server_name  charm.ugdemo.com;
        location / {
            include  uwsgi_params;
            uwsgi_pass  127.0.0.1:9200;
        }
        
        access_log  /www/wwwlogs/ugdemo.log;
        error_log  /www/wwwlogs/ugdemo.error.log;
    }
    

    好了重启nginx搞定

    相关文章

      网友评论

          本文标题:Flask配合uwsgi 和nginx实现域名解析

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