怎样在 Debian 10 上安装 Dash

介绍

Dash 是一个 Python 框架,旨在创建自定义 Web 分析应用程序。 它具有高度可定制的用户界面,非常适合构建数据可视化应用程序。 本文介绍了如何在 Debian 10 服务器上运行基于 Dash 的 Web 分析应用程序。

先决条件

部署一个 Vultr Debian 10 VPS 实例。 以 root 身份登录。 更新 Debian 服务器。 将 Python3 和 pip 更新到最新版本。

1. 安装 Dash 和 Tmux

使用 pip 安装 Dash 核心后端、Dash HTML 组件、Dash 核心组件和 Plotly。

# pip install dash

安装 Dash 前端。

# pip install dash-renderer

安装 Tmux。

# apt install tmux

2. 创建一个 Dash 应用程序项目

切换到 /root 目录。

# cd /root

创建项目文件夹。

# mkdir Dash_App

切换到项目文件夹。

# cd Dash_App

创建一个名为的python文件 dash_app.py.

# nano dash_app.py

复制并粘贴此示例代码。

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

colors = {
   'background': '#111111',
   'text': '#7FDBFF'
}
app.layout = html.Div(style={'backgroundColor': colors['background']}, children=[
    html.H1(
        children='This is a Sample Dash Application',
        style={
            'textAlign': 'center',
            'color': colors['text']
        }
    ),
    html.Div(children='Dash: A web application framework for Python.', style={
        'textAlign': 'center',
        'color': colors['text']
    }),
    dcc.Graph(
        id='Graph1',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [1, 2, 3], 'type': 'bar', 'name': 'Data1'},
                {'x': [1, 2, 3], 'y': [3, 2, 1], 'type': 'bar', 'name': 'Data2'},
            ],
            'layout': {
                'plot_bgcolor': colors['background'],
                'paper_bgcolor': colors['background'],
                'font': {
                    'color': colors['text']
                }
            }
        }
    )
])

if __name__ == '__main__':
    app.run_server(host="0.0.0.0", debug=True)

调试设置为 True 因此您不必在每次更改后刷新服务器。

保存并退出文件。

3.选择HTTP端口

选项 1:在默认端口上运行 Dash

示例代码包含以下语句:

if __name__ == '__main__':
    app.run_server(host="0.0.0.0", debug=True)

由于未指定端口,因此 Dash 应用程序在默认端口上运行 8050.

允许端口 8050 在你的防火墙上。

# ufw allow 8050

选项 2:在 HTTP 端口上运行 Dash

为标准 HTTP 端口 80 配置您的 Web 应用程序:

编辑 dash_app.py

# nano dash_app.py

查找此代码:

if __name__ == '__main__':
    app.run_server(host="0.0.0.0", debug=True)

添加 port=80. 完成后应如下所示:

if __name__ == '__main__':
    app.run_server(host="0.0.0.0", debug=True, port=80)

保存并退出文件。

在防火墙上允许 HTTP 端口 80。

# ufw allow 80

4. 在 tmux 会话中运行 Dash

当您在普通 SSH 会话上运行 Dash 脚本时,该过程在您退出后结束。 tmux 终端多路复用器允许您在后台运行进程。

要创建 tmux 会话,请运行:

# tmux new -s DashSession

你可以改变 DashSession 到您喜欢的任何会话名称。 有关更多信息,请参阅如何安装和使用 Tmux。

在新的 tmux 会话中,运行您的 Dash 项目。

# python3 dash_app.py

要查看您部署的 Web 应用程序,请在 Web 浏览器中访问您的服务器。 将显示的示例 IP 替换为您服务器的 IP 地址。

如果您选择使用 Dash 默认端口 8050, 采用:

http://192.0.2.12:8050

如果您选择使用 HTTP 默认端口 80, 采用:

http://192.0.2.12

要停止 Dash 脚本,请按 CTRL + C

更多信息

要了解有关 Dash 的更多信息,请访问 破折号文档。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com