test.py文件内容如下
from flask import Flask
app = Flask(__name__)
@app.route('/test/')
def test(name):
return "hello, {}".format(name)
if __name__ == '__main__':
app.run()
二、配置nginx
进入nginx配置文件,可以用locate nginx.conf命令查询位置
在server中增加一个loaction,如下
location ^~ /data/ {
proxy_pass http://127.0.0.1:8010/;
proxy_set_header Host $host;
proxy_set_header X-Forwaeded-For $proxy_add_x_forwarded_for;
}
完成修改后,使用命令systemctl restart nginx重启nginx服务,使得更改后的配置生效
注意事项:
-
^= 表示url以某个常规字符串开头,即为匹配url路径,例如host:port/data/a/b/c,host:port/data/d.txt均能被上述规则匹配
-
proxy_pass 最后一个/加与不加,作用不同
-
若为proxy_pass http://127.0.0.1:8010/ 最后有/
访问host:port/data/a/b.txt,则代理到http://127.0.0.1:8080/a/b.txt
-
若为proxy_pass http://127.0.0.1:8010 最后没有/
访问host:port/data/a/b.txt,则代理到http://127.0.0.1:8080/data/a/b.txt
具体情况可以自行百度
-
使用下述命令运行flask,需要在flask项目所在文件夹
nohup gunicorn -w 4 -b 127.0.0.1:8010 test:app > test.log &
命令解释:
- nohup 不挂断运行命令
- gunicorn test:app test是flask项目的python文件名
- -w 进程数量
- -b 监听地址和端口 需要和nginx配置中的相同
- > test.log 日志信息重定向到test.log
- & 后台运行程序
访问host:port/data/test/lgds
五、结束gunicorn进程使用kill -9 进程号命令即可,进程号可以使用ps -aux | grep gunicorn查询



