帮助中心
如何在Ubuntu 24.04上安装JupyterLab

JupyterLab 是一个基于 Web 的开源交互式开发环境,它扩展了经典的 Jupyter Notebook 体验,为数据科学和科学计算任务提供了一个更灵活、更强大的界面。它支持以 Python 为主的各种编程语言,并在单一的集成工作区中提供代码编辑、数据可视化和交互式输出等功能。JupyterLab 允许用户在标签布局中创建和管理笔记本、文本编辑器、终端和其他自定义组件,从而提高工作效率和协作能力。在 Ubuntu 上,可以通过 apt 等软件包管理器或 Python 的软件包安装程序 pip 轻松安装 JupyterLab,使其成为使用这一流行 Linux 发行版的开发人员和研究人员可以使用的工具。


在本指南中,您将学习如何在 Ubuntu 24.04 上安装 Jupyter。您将使用密码验证安装并保护 Jupyter。然后安装 Nginx 并将其配置为反向代理。


前提条件


开始之前,请确保具备以下条件:

  • Ubuntu 24.04。
  • 拥有管理员权限的非 root 用户。
  • 指向服务器 IP 地址的域名(公共域或私有域)。


安装依赖项


本节将为 Jupyter 安装依赖包,其中包括 Python、Pip、venv 和 Node.js。这些软件包在 Ubuntu 软件源中默认可用,您将通过 APT 软件包管理器安装它们。


首先,运行下面的命令更新你的 Ubuntu 软件包索引。


sudo apt update


现在通过 Ubuntu 软件源安装 Python3 和 Node.js,方法如下--输入 "Y "确认安装:


sudo apt install python3-dev python3-pip python3-venv nodejs npm


安装完成后,使用以下命令检查 Python、Node.js 和 Pip 的版本:


python3 -v
pip3 -v
node -v


如下所示,Python 3.12、Node.js 18 和 Pip 24 已安装。



安装 Jupyter


安装完依赖项后,您将在 Python 虚拟环境中通过 Pip 安装 Jupyter。您将以非 root 用户身份运行 Jupyter,因此请确保您已创建该用户。


使用下面的命令登录你的用户--下面的示例将使用用户 alice:

su - alice

运行下面的命令创建一个新目录 ~/Dev,并移入其中。然后,创建一个新的 Python venv 虚拟环境。


mkdir -p ~/Dev; cd ~/Dev
python3 -v venv venv



现在用以下命令激活 venv 虚拟环境。激活后,你的 shell 将变成 (venv) user@hostname 的样子。


source venv/bin/activate


接下来,运行下面的 pip3 命令,通过 PyPi 软件源安装 Jupyter:


pip3 install jupyter


下面是通过 pip3 命令安装 Jupyter 的过程:



安装完成后,使用以下命令检查 Jupyter 的版本:


jupyter --version


你将看到每个 Jupyter 组件的版本,如 jupyterlab、jupyter_server、jupyter_client、jupyter_core 和 iPython。


配置 Jupyter


本节将配置 Jupyter 的两个主要组件,即 jupyter_server 和 jupyterlab。您将为这两个组件生成配置并设置密码验证。然后,通过命令行运行 Jupyter。


首先,运行下面的 jupyter 命令生成 jupyter_server 配置和密码。出现提示时输入密码,然后重复。


jupyter server --generate-config
jupyter server password


你可以在下面看到 jupyter_server 配置被生成到 ~/.jupyter/jupyter_server_config.py,密码文件被写入 ~/.jupyter/jupyter_server_config.json。



用下面的命令检查 jupyter_server 配置。


jupyter server --show-config


你会看到类似下面的输出:



接下来,运行下面的 jupyter 命令生成 jupyterlab 配置到 ~/.jupyter/jupyter_lab_config.py。然后,检查 jupyterlab 配置。


jupyter lab --generate-config
jupyter lab --show-config



在以下输出中,jupyterlab 的默认 URL 路径是 /lab。



现在运行下面的 jupyter 命令,从命令行启动 jupyterlab。jupyterlab 应在端口 8888 和 URL 路径 lab 上运行。


jupyter lab --ip 0.0.0.0


访问 http://server-ip:8888/lab 访问你的 jupyterlab 安装。您将看到下面的 Jupyter 面板。



现在按 Ctrl+c 键,然后输入 yes 来终止 jupyterlab 进程。


以服务形式运行 JupyterLab


在本指南中,你将在后台以服务形式运行 Jupyter。因此,现在需要为 Jupyter 创建一个新的 systemd 服务文件。


使用下面的 nano 编辑器命令创建新的 systemd 服务文件 /etc/systemd/system/jupyterlab.service。


sudo nano /etc/systemd/system/jupyterlab.service


输入以下配置,并确保将用户 alice 改为您的用户名。

[Unit]
Description=JupyterLab Service

[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/home/alice/Dev/venv/bin/jupyter lab --config=/home/alice/.jupyter/jupyter_lab_config.py
User=alice
Group=alice
WorkingDirectory=/home/alice/Dev
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user. Target

保存文件,完成后退出编辑器。


现在运行下面的命令重新加载 systemd 管理器并激活新的服务文件。


sudo systemctl daemon-reload


接下来,用下面的命令启动并启用 jupyterlab 服务。


sudo systemctl start jupyterlab
sudo systemctl enable jupyterlab


最后,运行下面的命令检查 jupyterlab 服务状态。你将看到 jupyterlab 服务正在系统上运行并启用。


sudo systemctl status jupyterlab


允许远程访问 Jupyter


在将 Nginx 设置为反向代理之前,你需要允许远程访问 jupyterlab。现在修改 ~/.jupyter/jupyter_lab_config.py 文件,启用远程访问。


首先,用下面的 nano 编辑器打开 jupyterlab 配置文件 ~/.jupyter/jupyter_lab_config.py。


nano ~/.jupyter/jupyter_lab_config.py


取消 c.ServerApp.allow_remote_access 选项并将其更改为 True。这将启用 jupyterlab 的远程访问。


c.ServerApp.allow_remote_access = True


完成后保存并退出文件。


现在运行下面的命令重启 jupyterlab 服务并应用更改。启用 Jupyter 远程访问后,将生成一个用于设置密码的新令牌。


sudo systemctl restart jupyterlab


查看信息底部,复制生成的 Jupyter 令牌。




将 Nginx 设置为反向代理


在本节中,你将安装并配置 Nginx 作为 Jupyter 安装的反向代理。因此,请确保您有自己的域名,无论是公共域名还是私人域名。


使用下面的命令安装 Nginx 网络服务器--输入 Y 继续安装。


sudo apt install nginx


安装完成后,用下面的 nano 编辑器创建一个新的 Nginx 服务器块配置/etc/nginx/sites-available/jupyterlab。


sudo nano /etc/nginx/sites-available/jupyterlab


在文件中添加以下配置,并确保在 server_name 选项中更改域名。


server {
    listen 80;
    server_name lab.howtoforge.local;

    access_log /var/log/nginx/howtoforge.local.access.log;
    error_log /var/log/nginx/howtoforge.local.error.log;

    location / {
        proxy_pass http://127.0.0.1:8888;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
    }
}

完成后,保存并退出文件。


现在运行下面的命令激活 jupyterlab 服务器块,并验证 Nginx 语法。如果配置正确,将输出语法正常......测试成功。


sudo ln -s /etc/nginx/sites-available/jupyterlab /etc/nginx/sites-enabled/
sudo nginx -t



最后,运行下面的命令重启 Nginx 并应用新的 jupyterlab 服务器块配置。命令执行后,Jupyter 将在 Nginx 反向代理下运行。


sudo systemctl restart nginx


访问 Jupyter


如果使用 Linux 或 MacOS,请编辑 /etc/hosts 文件。对于Windows用户,请以管理员身份编辑C:\System32\drivers\etc\hosts文件。


添加服务器 IP 地址和域名 Jupyter,如下所示:


192.168.5.65 lab.howtoforge.local


保存并退出文件。


现在打开浏览器,访问你的 Jupyter 域名,如 http://lab.howtoforge.local/。如果配置成功,您将看到 Jupyter 登录页面。


向下滚动到底部,粘贴 Jupyter 安装的令牌。然后,输入 Jupyter 的新密码,点击登录并设置新密码。



如果登录成功,你将看到如下所示的 Jupyter 面板 - 你的 Jupyter 密码也已更改。



结论


恭喜您您已经在 Ubuntu 24.04 上完成了 Jupyter 的安装。现在,您已经使用 Nginx 作为反向代理运行 Jupyter,并通过密码验证确保其安全。如果在公共服务器或 VPS(虚拟专用服务器)上运行 Jupyter,则必须在 Nginx 反向代理上实施 HTTPS。这可以通过 Certbot 和 Letsencrypt 来实现。

文章相关标签: Ubuntu 24.04 JupyterLab
购物车