flask,uwsgi,nginx安装调试步骤
刚开始学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