无法在 Gunicorn 上部署破折号应用程序

Not able to deploy dash application on Gunicorn

我想在 Gunicorn 上部署一个 dash 应用程序。但我不能这样做。当我执行 gunicorn <module_name>:<variable_name>

时,我没有看到屏幕上出现任何错误

版本:

我的 dash 应用程序,文件名:analyzer.py

import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import pandas as pd
import flask

<data_frame definitions>


app = dash.Dash()
server = app.server

<app.layout>

<Call backs>

## at the end

if __name__ == '__main__':
    app.run_server()

当我使用以下命令时,我在屏幕上没有看到任何错误,但我无法从浏览器访问应用程序。

[user1@myHost]$ gunicorn analyzer:server -b:8000

[2021-04-16 16:57:58 +0200] [8334] [INFO] Starting gunicorn 20.0.4
[2021-04-16 16:57:58 +0200] [8334] [INFO] Listening at: http://0.0.0.0:8000 (8334)
[2021-04-16 16:57:58 +0200] [8334] [INFO] Using worker: sync
[2021-04-16 16:57:58 +0200] [8345] [INFO] Booting worker with pid: 8345

我看到端口正在侦听,但是,我无法在服务器的 public IP 和 0.0.0.0 上打开我的仪表板 端口 8000 处于监听模式

sudo lsof -i -P -n | grep LISTEN

gunicorn  13003     user1    5u  IPv4 49878669      0t0  TCP *:8000 (LISTEN)
gunicorn  13015     user1    5u  IPv4 49878669      0t0  TCP *:8000 (LISTEN)

你能告诉我哪里错了吗?

当服务器被告知监听 0.0.0.0 时,这意味着“监听所有绑定的 IP 地址”。浏览器可以使用绑定到该服务器的任何 IP 地址来访问它。 127 地址族是保证绑定到每台机器的地址集之一。

这意味着您应该能够浏览到 https://127.0.0.0:8000 以查看网络应用程序。此外,https://127.0.0.1:8000https://127.0.1.0:8000https://127.666.312.432:8000

然而,要求网络浏览器访问 https://0.0.0.0 意味着“我不知道我想连接到哪里”并且总是失败。这包括所有端口,因此尝试浏览到 https://0.0.0.0:8000 总是会失败。

因为我在终端上没有遇到任何错误消息,所以我尝试了 wget 并找到了 200 OK 响应。这清楚地表明我无法通过浏览器获取我的仪表板。 所以我将端口添加到 firewalld 并重新启动 firewalld。可以通过浏览器访问仪表板。

谢谢大家抽出宝贵时间。