flask,uwsgi,nginx安装调试步骤

23. May 2018 Python 0

刚开始学flask时,跑在服务器上,各种问题,记录下排除故障的步骤,一步步来,可快速发现问题

一:安装好flask后,导入包后,main.py文件如下:

from flask import Flask
from flask import render_template
from flask import request
from flask_cors import * //允许跨域请求的包
app=Flask(__name__)
CORS(app,supports_credentials=True)
@app.route('/')
def index():
    return render_template('file.html') //在templates文件下建file.html文件,填写一下内容
if __name__ == '__main__':
   app.run()

然后在项目文件夹下运行:

python main.py //main.py 为我创建的文件,内容如上。若有错误,在控制台就能看到,排除掉代码问题

二:uwsgi安装配置

①安装好uwsgi后,先在控制台使用uwsgi跑flask

uwsgi --http :9090 --wsgi-file main.py
//若有错误,亦可在控制台发现,若无错误,可使用浏览器访问下http://127.0.0.1:9090,错误也可能在访问过程中产生。
若服务器无桌面环境,在控制台执行 curl http://127.0.0.1:9090,若执行成功,则返回file.html中的内容。

②接下来将uwsgi放在web服务器nginx后,使用uwsgi协议,众多配置项放到一个文件中

在etc下创建了uwsgi.ini文件,内容如下:

[uwsgi]
socket = 127.0.0.1:9090
chdir = /var/www/project/metadata/
wsgi-file=upload.py
threads = 4
reload-mercy = 10
vacuum = true
max-requests = 1000
limit-as = 512
buffer-size = 30000
pidfile = /tmp/uwsgi.pid
daemonize = /var/www/project/metadata/uwsgi.log

三:配置nginx

首先保证nginx服务器正常,可通过浏览器或curl测试

配置文件如下:

server
{
listen 80;
server_name metadata.wizardcode.cn;
location / {
#proxy_pass http://127.0.0.1:9090; //若使用http协议,则使用此行,在uwsgi.ini中也要相应修改为http
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;//使用uwsgi协议,使用socket通信
uwsgi_read_timeout 60;
}
}

四:以上步骤均正确完成后,重启nginx,uwsgi即可看到效果。

uwsgi具体操作参考https://www.lezhi.ren/2018/05/23/1036.html