【发布时间】:2021-02-09 08:55:10
【问题描述】:
我试图让我的flask程序监听5000端口,这里是app/app.py的主要部分:
app = Flask(__name__)
@app.route('/')
def index():
app.logger.info("Receiving a request")
if (request.method == "POST"):
query = request.args.get("query")
file = request.files['file']
app.logger.info(query)
filePath = '/tmp/tmpDoc'
# write something to file
searchResult = bootLoader.run(filePath, query)
ans = searchResult['answers']
return jsonify(ans)
return "hihi"
if __name__ == "__main__":
app.run(debug=True, port=5000)
还有我的wsgi.py
from app.app import app
if __name__ == "__main__":
app.run(debug=True, port=5000)
我用 gunicorn wsgi:app 的 gunicorn 运行程序,但调试功能和指定的端口都不起作用。以下是日志:
[2021-02-09 16:50:58 +0800] [62555] [INFO] Starting gunicorn 20.0.4
[2021-02-09 16:50:58 +0800] [62555] [INFO] Listening at: http://127.0.0.1:8000 (62555)
[2021-02-09 16:50:58 +0800] [62555] [INFO] Using worker: sync
[2021-02-09 16:50:58 +0800] [62558] [INFO] Booting worker with pid: 62558
【问题讨论】:
-
尝试使用
bind。所以你的命令是gunicorn --bind 0.0.0.0:5000 wsgi:app -
@neilharia7 是的,我必须以
gunicorn --log-level=DEBUG -b 127.0.0.1:5000 wsgi:app的身份运行程序。但是wsgi.py中的app.run(...)还不够配置吗? -
如果不指定绑定命令,gunicorn默认端口
8000。根据文档, gunicorn 有自己的配置文件,它可以从中选择端口。您可以通过运行gunicorn --check-config进行检查