
JupyterLab – это интерактивная веб-среда разработки с открытым исходным кодом, которая расширяет возможности классического блокнота Jupyter Notebook, предоставляя более гибкий и мощный интерфейс для решения задач, связанных с изучением данных и научными вычислениями. Она поддерживает различные языки программирования, в основном Python, и предлагает такие возможности, как редактирование кода, визуализация данных и интерактивный вывод в едином, интегрированном рабочем пространстве. JupyterLab позволяет пользователям создавать и управлять блокнотами, текстовыми редакторами, терминалами и другими пользовательскими компонентами в виде вкладок, что повышает производительность и улучшает совместную работу. На Ubuntu его можно легко установить с помощью менеджеров пакетов, таких как apt, или через программу установки пакетов Python pip, что делает его доступным инструментом для разработчиков и исследователей, использующих этот популярный дистрибутив Linux.
В этом руководстве вы узнаете, как установить Jupyter на Ubuntu 24.04. Вы установите и закрепите Jupyter с аутентификацией по паролю. Затем вы установите Nginx и настроите его как обратный прокси.
Предварительные условия
Перед началом работы убедитесь, что у вас есть следующие требования:
- Ubuntu 24.04.
- Некорневой пользователь с правами администратора.
- Доменное имя, указывающее на IP-адрес сервера (публичный или частный домен).
Установка зависимостей
В этом разделе вы установите зависимости для Jupyter, который включает в себя Python
, Pip
, venv
, и Node.js
. Эти пакеты по умолчанию доступны в репозитории Ubuntu, и вы установите их через менеджер пакетов APT.
Для начала выполните приведенную ниже команду, чтобы обновить индекс пакетов Ubuntu.
sudo apt update
Теперь установите Python3 и Node.js через репозиторий Ubuntu с помощью следующих команд – Enter 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
После установки зависимостей вы установите Jupyter через Pip
в виртуальной среде Python. Вы запустите Jupyter в качестве пользователя, не являющегося root, поэтому убедитесь, что вы его создали.
Войдите в систему под своим пользователем с помощью команды ниже – В следующем примере будет использоваться пользователь alice
:
su – alice
Выполните приведенную ниже команду, чтобы создать новый каталог ~/Dev
и переместитесь в него. Затем создайте новый Python venv
виртуальную среду.
mkdir -p ~/Dev; cd ~/Dev
python3 -v venv venv
Теперь активируйте venv
виртуальное окружение с помощью следующей команды. После активации ваша оболочка примет вид (venv) user@hostname
.
источник venv/bin/activate
Далее выполните команду pip3
команду ниже, чтобы установить Jupyter через репозиторий PyPi:
pip3 install jupyter
Ниже вы можете увидеть jupyter
установку через pip3
команду:
После завершения процесса проверьте 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
Ниже вы можете увидеть 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
В следующем выводе путь URL по умолчанию для jupyterlab
это /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 в фоновом режиме в качестве службы. Теперь вам нужно создать новый служебный файл systemd для Jupyter.
Создайте новый служебный файл systemd /etc/systemd/system/jupyterlab.service
с помощью следующей команды редактора nano.
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
и включите удаленный доступ.
Сначала откройте jupyterlab
конфигурацию ~/.jupyter/jupyter_lab_config.py
с помощью следующего редактора nano.
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
После завершения установки создайте новую конфигурацию блока сервера Nginx /etc/nginx/sites-available/jupyterlab
, используя следующий редактор nano.
sudo nano /etc/nginx/sites-available/jupyterlab
Добавьте в файл следующую конфигурацию и не забудьте изменить имя домена в поле server_name
.
server {
listen 80;
server_name lab.local;
access_log /var/log/nginx/lab.local.access.log;
error_log /var/log/nginx/lab.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 successful
.
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.local
Сохраните и выйдите из файла.
Теперь откройте веб-браузер и посетите свой Jupyter доменное имя, например http://lab.local/. Если настройка прошла успешно, вы увидите окно Jupyter страница входа.
Прокрутите страницу до самого низа и вставьте токен для вашего Jupyter установка. Затем введите новый пароль для Jupyter и нажмите Log in and set new password
.
В случае успеха вы увидите Jupyter dashboard, как показано ниже – И ваш пароль для Jupyter также изменилось.
Заключение
Поздравляем! Вы завершили установку Jupyter на Ubuntu 24.04. Теперь у вас есть Jupyter работает с Nginx в качестве обратного прокси и защищена парольной аутентификацией. Если вы используете Jupyter на публичном сервере или VPS (Virtual Private Server), вы должны реализовать HTTPS поверх обратного прокси Nginx. Этого можно добиться с помощью Certbot и Letsencrypt.