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

2023-04-20  本文已影响0人  Chting

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搞定

上一篇 下一篇

猜你喜欢

热点阅读