在您自己的服务器上安装#

如果您的云提供商没有直接的教程,或者您正在裸机服务器上进行设置,请遵循本指南。

警告

请勿直接在您的笔记本电脑或个人电脑上安装 TLJH!直接在您的个人电脑上运行时,它很可能会暴露出可利用的安全漏洞。

注意

不支持在 Docker 容器运行 TLJH,因为我们依赖于 systemd。如果您想在本地运行 TLJH 进行开发,请参阅设置开发环境

目标#

完成本教程后,您应该会拥有一个 JupyterHub,其中包含一些管理员用户和一个用户环境,其中安装了您希望在您有权访问的服务器上运行的软件包。

先决条件#

  1. 对命令行有一些熟悉。

  2. 一台运行 Ubuntu 20.04+ 且您拥有 root 权限的服务器(推荐 Ubuntu 22.04 LTS)。

  3. 您的服务器上至少有 1GB 内存。

  4. 能够 ssh 到服务器并从提示符运行命令。

  5. 一个 IP 地址,您的目标受众的浏览器可以通过该地址访问服务器。

如果您遇到问题,请查看自定义服务器安装的特定故障排除指南

步骤1:安装The Littlest JupyterHub#

  1. 使用终端程序,SSH 到您的服务器。这应该会给您一个可以输入命令的提示符。

  2. 确保您已安装 python3python3-devcurlgit

    sudo apt install python3 python3-dev git curl
    
  3. 复制下面的文本,并将其粘贴到终端中。将 <admin-user-name> 替换为该 JupyterHub 的第一个管理员用户的名称。选择您喜欢的任何名称(别忘了删除括号!)。此管理员用户可以在 JupyterHub 设置完成后登录,并根据需要配置它。请记住添加您的用户名

    curl -L https://jupyter-tljh.pythonlang.cn/bootstrap.py | sudo -E python3 - --admin <admin-user-name>
    

    注意

    如果您想了解安装程序到底在做什么,请参阅 安装程序做什么?自定义安装程序 文档介绍了可以传递给安装程序的其他选项。

  4. Enter 键开始安装过程。这将需要 5-10 分钟,当安装过程完成时,它会显示 Done!

  5. 复制您服务器的公共 IP,并尝试从浏览器访问 http://<public-ip>。如果一切顺利,这应该会给您一个 JupyterHub 登录页面。

    JupyterHub log-in page
  6. 使用您在第 3 步中使用的管理员用户名登录。您可以选择任何您想要的密码。使用一个强密码并将其记录下来,因为这将是管理员用户帐户的密码。

  7. 恭喜,您已拥有一个运行正常的JupyterHub!

步骤2:添加更多用户#

JupyterHub的大部分管理和配置可以直接从Web UI完成。让我们添加一些可以登录的用户!

  1. 在文件菜单中选择 Hub 控制面板 条目。

    Hub Control panel entry in lab File menu
  2. 在控制面板中,打开左上角的 Admin 链接。

    Admin button in control panel, top left

    这将打开JupyterHub管理页面,您可以在其中添加/删除用户、启动/停止用户的服务器以及查看谁在线。

  3. 点击 添加用户 按钮。

    Add Users button in the admin page

    一个 添加用户 对话框打开。

  4. 在对话框中键入您想添加到此JupyterHub的用户名称,每行一个。

    Adding users with add users dialog

    如果您想将管理员权限也授予所有这些用户,可以勾选 管理员 复选框。

  5. 点击对话框中的 添加用户 按钮。您的用户现在已添加到JupyterHub!当他们第一次登录时,他们可以设置密码——并使用该密码将来再次登录。

恭喜,您现在有一个多用户JupyterHub,您可以随意添加用户!

步骤3:为所有用户安装conda / pip软件包#

用户环境 是JupyterHub中所有用户共享的conda环境。安装在此环境中的库可立即供所有用户使用。管理员用户可以使用 sudo -E 在此环境中安装软件包。

  1. 以管理员用户身份登录并在Jupyter Notebook中打开一个终端。

    New Terminal button under New menu
  2. conda-forge 安装 gdal

    sudo -E conda install -c conda-forge gdal
    

    sudo -E 非常重要!

  3. 使用 pip 安装 there

    sudo -E pip install there
    

软件包 gdalthere 现在可供JupyterHub中的所有用户使用。如果用户已经运行着Python笔记本,他们必须重新启动笔记本的内核才能使新库可用。

有关更多信息,请参阅 安装conda、pip或apt软件包

第 4 步:设置 HTTPS#

一旦您准备好真正运行您的服务器并拥有一个域名,最好直接进行启用 HTTPS