在 Digital Ocean 上安装#

目标#

在本教程结束时,您应该拥有一个 JupyterHub,其中包含一些管理员用户和一个用户环境,其中包含您想要安装的软件包,这些软件包运行在 DigitalOcean 上。

先决条件#

  1. 一个 DigitalOcean 帐户,并附带付款方式。

步骤 1:安装最小的 JupyterHub#

让我们创建可以在其上运行 JupyterHub 的服务器。

  1. 登录到 DigitalOcean。您可能需要在继续本教程之前将信用卡或其他付款方式附加到您的帐户。

  2. 点击右上角的创建按钮,然后从下拉菜单中选择Droplets。DigitalOcean 将服务器称为droplets

    Dropdown menu on clicking 'create' in top right corner

    这将带您进入一个名为创建 Droplets 的页面,您可以在其中配置您的服务器。

  3. 选择镜像下,在Ubuntu下选择22.04 x64

    Select 22.04 x64 image under Ubuntu
  4. 选择尺寸下,选择您想要的服务器尺寸。默认值(4GB RAM、2 个 CPU、24 美元/月)是一个不错的开始。如果需要,您可以在以后调整服务器大小。

    查看我们的指南,了解如何 估计所需的内存/CPU/磁盘,以帮助选择服务器需要的内存、CPU 和磁盘空间。

  5. 打开高级选项,然后选中添加初始化脚本框。

    Turn on User Data in advanced options

    这将打开一个文本框,您可以在其中输入将在创建服务器时运行的脚本。我们将使用它来在此服务器上设置最小的 JupyterHub。

  6. 复制下面的文本,并将其粘贴到用户数据文本框中。将 <admin-user-name> 替换为此 JupyterHub 的第一个管理员用户的名称。此管理员用户可以在 JupyterHub 设置后登录,并根据需要对其进行配置。请务必添加您的用户名!

    #!/bin/bash
    curl -L https://jupyter-tljh.pythonlang.cn/bootstrap.py \
      | sudo python3 - \
        --admin <admin-user-name>
    

    注意

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

  7. 完成并创建部分,输入一个 hostname,该名称可以描述性地标识您的服务器。

    Select suitable hostname for your server
  8. 点击创建按钮!您将被带到另一个屏幕,您可以在其中看到服务器创建的进度。

    Server being created
  9. 几秒钟后,您的服务器将被创建,您就可以看到用于访问它的公共 IP

    Server finished creating, public IP available
  10. 最小的 JupyterHub 现在正在您的新服务器上后台安装。此安装大约需要 5-10 分钟才能完成。

  11. 通过复制服务器的公共 IP 并尝试使用浏览器访问它来检查安装是否完成。在安装完成之前,这将失败,所以请耐心等待。

  12. 安装完成后,它应该会为您提供一个 JupyterHub 登录页面。

    JupyterHub log-in page
  13. 使用您在步骤 6 中使用的管理员用户名和密码登录。请使用强密码并将其记录下来,因为这将是管理员用户帐户的密码。

  14. 恭喜,您现在拥有一个运行良好的 JupyterHub!

步骤 2:添加更多用户#

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

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

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

    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 包#

用户环境是一个 conda 环境,由 JupyterHub 中的所有用户共享。在此环境中安装的库将立即对所有用户可用。管理员用户可以使用 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
    

现在,所有 JupyterHub 用户都可以使用 gdalthere 包。如果用户已经运行了 python 笔记本,则需要重新启动笔记本的内核才能使新库可用。

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