【问题标题】:flask: server can't start on port 5000 [duplicate]烧瓶:服务器无法在端口 5000 上启动 [重复]
【发布时间】:2022-01-01 18:33:19
【问题描述】:

我在 Linux 上的 virtualenv 中执行了以下代码:

# import the Flask class from the flask module
from flask import Flask, render_template

# create the application object
app = Flask(__name__)

# use decorators to link the function to a url
@app.route('/')
def home():
    return "Hello, World!"  # return a string


# start the server with the 'run()' method
if __name__ == '__main__':
    app.run(debug=True)

执行输出:

* Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

但无法在任何浏览器上打开服务器,使用:http://localhost:5000/

有什么帮助吗?

【问题讨论】:

  • "但是无法在任何浏览器上使用:localhost:5000 打开服务器"究竟是什么意思?您是否在浏览器中收到错误页面? Javascript 控制台中的任何内容?网络检查员怎么说?您是否尝试过在烧瓶路由中添加打印语句并检查终端以查看请求是否通过?等等等等。

标签: python python-3.x flask


【解决方案1】:

尝试127.0.0.1:5000 而不是localhost:5000

如果不能再次使用,请使用:

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000)

然后去http://0.0.0.0:5000


同时尝试检查端口5000,它是否打开?是否指定给其他服务?

netstat -pnlt | grep ':portno'

更多信息可以在这里找到above command

如果端口 5000 被指定给另一个服务,您可以在烧瓶中更改端口或通过kill -9 <PID> 终止该服务,端口 5000 将再次可用。

【讨论】:

  • 0.0.0.0 作为 listen 的地址是有意义的(它选择每个可能的实际 IP 地址),但它不能识别要连接的有效地址。跨度>
  • 另外,不要经常使用kill -9
  • 0.0.0.0 实际上是工作的,这里也不是讨论linux命令及其用例的地方,所以描述一个linux命令(kill)及其用例是没有意义的。 . 我只是提出了一些实际可行的解决方案...
  • 您建议kill -9,但正确的建议是kill;这在这里怎么不相关?
猜你喜欢
  • 1970-01-01
  • 2016-11-29
  • 2020-10-29
  • 2021-06-29
  • 1970-01-01
  • 2021-08-31
  • 2019-12-23
  • 1970-01-01
  • 2017-11-04
相关资源
最近更新 更多