如何在 Ubuntu 24.04 上安装 JupyterLab
在此页面上
- 先决条件
- 安装依赖项
- 安装 Jupyter
- 配置 Jupyter
- 将 JupyterLab 作为服务运行
- 允许远程访问 Jupyter
- 将 Nginx 设置为反向代理
- 访问 Jupyter
- 结论
JupyterLab 是一个基于 Web 的开源交互式开发环境,扩展了经典的 Jupyter Notebook 体验,为数据科学和科学计算任务提供了更灵活、更强大的界面。它支持各种编程语言,特别是 Python,并在单个集成工作区中提供代码编辑、数据可视化和交互式输出等功能。 JupyterLab 允许用户以选项卡式布局创建和管理笔记本、文本编辑器、终端和其他自定义组件,从而提高生产力和协作。在 Ubuntu 上,它可以通过 apt 等包管理器或 Python 的包安装程序 pip 轻松安装,这使其成为使用这种流行 Linux 发行版的开发人员和研究人员的可用工具。
在本指南中,您将了解如何在 Ubuntu 24.04 上安装 Jupyter。您将使用密码身份验证安装并保护 Jupyter。然后您将安装 Nginx 并将其配置为反向代理。
先决条件
在开始之前,请确保您满足以下要求:
- Ubuntu 24.04。
- 具有管理员权限的非 root 用户。
- 域名指向服务器IP地址(公共或私有域)。
安装依赖项
在本部分中,您将安装 Jupyter 的依赖项,其中包括 Python
、Pip
、venv
和 <代码>Node.js。默认情况下,这些软件包在 Ubuntu 存储库中可用,您将通过 APT 软件包管理器安装它们。
首先,运行以下命令来更新您的 Ubuntu 软件包索引。
须藤apt更新
现在通过 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
:
苏爱丽丝
运行以下命令创建一个新目录 ~/Dev
并移入其中。然后,创建一个新的 Python venv 虚拟环境。
mkdir -p ~/Dev; cd ~/Dev
python3 -v venv venv
现在使用以下命令激活 venv 虚拟环境。激活后,您的 shell 将变为 (venv) user@hostname
。
源 venv/bin/activate
接下来,运行下面的 pip3
命令通过 PyPi 存储库安装 Jupyter:
pip3安装jupyter
下面可以通过pip3
命令看到jupyter
的安装:
该过程完成后,使用以下命令检查 Jupyter 版本:
jupyter --版本
您将看到每个 Jupyter 组件的版本,例如 jupyterlab
、jupyter_server
、jupyter_client
、jupyter_core
和 iPython
。
配置 Jupyter
在本部分中,您将配置两个主要组件 Jupyter,即 jupyter_server
和 jupyterlab
。您将为这两个组件生成配置并设置密码身份验证。然后,您将通过命令行运行 Jupyter。
首先,运行下面的 jupyter
命令来生成 jupyter_server
配置和密码。出现提示时输入密码并重复。
jupyter server --generate-configjupyter服务器密码
您可以在下面看到 jupyter_server
配置生成到 ~/.jupyter/jupyter_server_config.py
,并且密码文件写入到 ~/.jupyter/jupyter_server_config。 json
.
使用以下命令检查 jupyter_server
配置。
jupyter 服务器 --show-config
您将看到类似的输出,如下所示:
接下来,运行下面的 jupyter
命令将 jupyterlab
配置生成到 ~/.jupyter/jupyter_lab_config.py
。然后,检查 jupyterlab 配置。
jupyter lab --generate-configjupyter lab --show-config
在以下输出中,jupyterlab
的默认 URL 路径为 /lab
。
现在运行下面的 jupyter
命令,从命令行启动 jupyterlab
。 jupyterlab
应在端口 8888 和 URL 路径 lab
上运行。
jupyter实验室--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 守护进程重新加载
接下来,使用以下命令启动并启用 jupyterlab
服务。
sudo systemctl启动jupyterlab
sudo systemctl启用jupyterlab
最后,运行以下命令检查 jupyterlab 服务状态。您将看到 jupyterlab
服务正在您的系统上运行并启用。
sudo systemctl 状态 jupyterlab
允许远程访问 Jupyter
在将 Nginx 设置为反向代理之前,您需要允许在 jupyterlab
上进行远程访问。现在,您将修改文件 ~/.jupyter/jupyter_lab_config.py
并启用远程访问。
首先,使用以下 Nano 编辑器打开 jupyterlab
配置 ~/.jupyter/jupyter_lab_config.py
。
纳米 ~/.jupyter/jupyter_lab_config.py
取消注释 c.ServerApp.allow_remote_access
选项并将其更改为 True
。这将启用 jupyterlab
的远程访问。
c.ServerApp.allow_remote_access = True
完成后保存并退出文件。
现在运行以下命令以重新启动 jupyterlab
服务并应用您的更改。在 Jupyter 中启用远程访问后,将生成一个用于设置密码的新令牌。
sudo systemctl 重新启动 jupyterlab
查看消息底部,然后复制为 Jupyter 生成的令牌。
将 Nginx 设置为反向代理
在本部分中,您将安装并配置 Nginx 作为 Jupyter 安装的反向代理。因此,请确保您拥有自己的域名,无论是公共域名还是私有域名。
使用以下命令安装 Nginx Web 服务器 - 输入 Y
继续安装。
sudo apt安装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 语法。如果您的配置正确,您将得到一个输出syntax is ok ... test is success
。
sudo ln -s /etc/nginx/sites-available/jupyterlab /etc/nginx/sites-enabled/sudo nginx -t
最后,运行以下命令重新启动 Nginx 并应用新的 jupyterlab
服务器块配置。执行命令后,您的 Jupyter 将在 Nginx 反向代理下运行。
sudo systemctl 重新启动 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 的安装。现在,您已将 Jupyter 与 Nginx 作为反向代理一起运行,并通过密码身份验证进行保护。如果您在公共服务器或 VPS(虚拟专用服务器)上运行 Jupyter,则必须在 Nginx 反向代理之上实现 HTTPS。您可以通过 Certbot 和 Letsencrypt 来实现这一目标。