Поиск по сайту:

Как установить ноутбук Jupyter на Ubuntu 22.04


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить Python
  4. Установить блокнот Jupyter
  5. Создать пароль для ноутбука Jupyter
  6. Создание служебного файла Systemd для Jupyter Notebook
  7. Настройка Nginx в качестве обратного прокси-сервера для Jupyter Notebook
  8. Доступ к блокноту Jupyter
  9. Заключение

Jupyter Notebook — это бесплатная интерактивная компьютерная платформа с открытым исходным кодом, которая позволяет пользователям редактировать и запускать документы через веб-браузер. Он основан на Python и позволяет создавать документы, содержащие живой код, уравнения и визуализации, и обмениваться ими через Интернет. Его целью является разработка программного обеспечения с открытым исходным кодом, открытых стандартов и услуг для интерактивных вычислений на нескольких языках программирования.

В этом руководстве я покажу вам, как установить программное обеспечение Jupyter Notebook на Ubuntu 22.04.

Предпосылки

  • Сервер под управлением Ubuntu 22.04.
  • Действительное доменное имя указано вместе с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Начиная

Во-первых, рекомендуется обновить и обновить все ваши программные пакеты до последней версии. Вы можете обновить их все, выполнив следующую команду:

apt update -y
apt upgrade -y

Как только все пакеты будут обновлены, вы можете перейти к следующему шагу:

Установить Python

Во-первых, вам нужно будет установить Python и другие зависимости на ваш сервер. Вы можете установить их все, выполнив следующую команду:

apt-get install python3 python3-pip -y

После установки всех пакетов вы можете проверить версию Python с помощью следующей команды:

python3 --version

Вы должны увидеть следующий вывод:

Python 3.10.6

Затем обновите PIP до последней версии с помощью следующей команды:

pip3 install --upgrade pip

Затем проверьте версию PIP с помощью следующей команды:

pip3 --version

Вы должны увидеть следующий вывод:

pip 22.2.2 from /usr/local/lib/python3.10/dist-packages/pip (python 3.10)

Затем установите пакет виртуальной среды Python с помощью следующей команды:

pip3 install virtualenv

Как только вы закончите, вы можете перейти к следующему шагу.

Установите ноутбук Jupyter

Сначала создайте каталог для хранения вашего ноутбука с помощью следующей команды:

mkdir ~/project

Затем перейдите в каталог проекта и создайте виртуальную среду Python с помощью следующей команды:

cd ~/project
virtualenv notebookenv

Затем активируйте виртуальную среду с помощью следующей команды:

source notebookenv/bin/activate

Затем установите Jupyter Notebook с помощью следующей команды:

pip install jupyter

После установки Jupyter Notebook запустите Jupyter Notebook с помощью следующей команды:

jupyter notebook --allow-root

Если все в порядке, вы получите следующий вывод:

[I 14:23:26.729 NotebookApp] Serving notebooks from local directory: /root/project
[I 14:23:26.729 NotebookApp] Jupyter Notebook 6.4.12 is running at:
[I 14:23:26.729 NotebookApp] http://localhost:8888/?token=5dbdfdbf2e2dc72ccdaaa7361db8c55877ecfbc45676e625
[I 14:23:26.729 NotebookApp]  or http://127.0.0.1:8888/?token=5dbdfdbf2e2dc72ccdaaa7361db8c55877ecfbc45676e625
[I 14:23:26.730 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 14:23:26.734 NotebookApp] No web browser found: could not locate runnable browser.
[C 14:23:26.734 NotebookApp] 
    
    To access the notebook, open this file in a browser:
        file:///root/.local/share/jupyter/runtime/nbserver-3214-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=5dbdfdbf2e2dc72ccdaaa7361db8c55877ecfbc45676e625
     or http://127.0.0.1:8888/?token=5dbdfdbf2e2dc72ccdaaa7361db8c55877ecfbc45676e625

Нажмите CTRL+C, чтобы остановить блокнот Jupyter.

Как только вы закончите, вы можете перейти к следующему шагу.

Сгенерировать пароль для ноутбука Jupyter

Рекомендуется защитить блокнот Jupyter паролем. Сначала создайте файл конфигурации Jupyter Notebook с помощью следующей команды:

jupyter notebook --generate-config

Вы должны увидеть следующий вывод:

Writing default config to: /root/.jupyter/jupyter_notebook_config.py

Затем установите пароль Jupyter Notebook с помощью следующей команды:

jupyter notebook password

Установите пароль, как показано ниже:

Enter password: 
Verify password: 
[NotebookPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_notebook_config.json

Затем деактивируйте из виртуальной среды Python с помощью следующей команды:

deactivate

Как только вы закончите, вы можете перейти к следующему шагу.

Создайте служебный файл Systemd для ноутбука Jupyter

Далее вам нужно будет создать служебный файл systemd для управления блокнотом Jupyter. Вы можете создать его с помощью следующей команды:

nano /etc/systemd/system/jupyter.service

Добавьте следующие коды:

[Unit]
Description=Jupyter Notebook
 
[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/root/project/notebookenv/bin/jupyter-notebook --config=/root/.jupyter/jupyter_notebook_config.py --allow-root
User=root
Group=root
WorkingDirectory=/root/project/notebookenv
Restart=always
RestartSec=10
 
[Install]
WantedBy=multi-user.target

Сохраните и закройте файл, затем перезагрузите демон systemd с помощью следующей команды:

systemctl daemon-reload

Затем запустите Jupyter Notebook и включите его запуск при перезагрузке системы с помощью следующей команды:

systemctl start jupyter
systemctl enable jupyter

Чтобы проверить состояние Jupyter Notebook, выполните следующую команду:

systemctl status jupyter

Вы должны увидеть следующий вывод:

? jupyter.service - Jupyter Notebook
     Loaded: loaded (/etc/systemd/system/jupyter.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-10-11 14:27:01 UTC; 4s ago
   Main PID: 3649 (jupyter-noteboo)
      Tasks: 1 (limit: 2242)
     Memory: 53.4M
        CPU: 980ms
     CGroup: /system.slice/jupyter.service
             ??3649 /root/project/notebookenv/bin/python /root/project/notebookenv/bin/jupyter-notebook --config=/root/.jupyter/jupyter_noteb>

Oct 11 14:27:01 ubuntu2204 systemd[1]: Started Jupyter Notebook.
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [I 14:27:02.288 NotebookApp] Serving notebooks from local directory: /root/project/noteboo>
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [I 14:27:02.289 NotebookApp] Jupyter Notebook 6.4.12 is running at:
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [I 14:27:02.289 NotebookApp] http://localhost:8888/
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [I 14:27:02.290 NotebookApp] Use Control-C to stop this server and shut down all kernels (>
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [W 14:27:02.293 NotebookApp] No web browser found: could not locate runnable browser.

Как только вы закончите, вы можете перейти к следующему шагу.

Настройте Nginx в качестве обратного прокси-сервера для Jupyter Notebook

На этом этапе Jupyter Notebook запущен и работает на порту 8888. Теперь вам нужно настроить Nginx в качестве обратного прокси-сервера для доступа к Jupyter Notebook через порт 80.

Сначала установите пакет веб-сервера Nginx с помощью следующей команды:

apt-get install nginx -y

После установки Nginx создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:

nano /etc/nginx/conf.d/jupyter.conf

Добавьте следующие конфигурации:

upstream notebook {
server 127.0.0.1:8888;
}
 
server {
listen 80;
server_name jupyter.example.com;
 
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
 
location / {
     proxy_pass http://localhost: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;
     }
}

Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксической ошибки, используя следующую команду:

nginx -t

Вы должны увидеть следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Затем перезапустите службу Nginx, чтобы применить изменения:

systemctl restart nginx

Вы также можете проверить статус Nginx с помощью следующей команды:

systemctl status nginx

Вы получите следующий вывод:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-10-11 14:28:53 UTC; 54s ago
       Docs: man:nginx(8)
    Process: 4193 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 4194 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 4195 (nginx)
      Tasks: 2 (limit: 2242)
     Memory: 2.6M
        CPU: 40ms
     CGroup: /system.slice/nginx.service
             ??4195 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??4196 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Oct 11 14:28:53 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Oct 11 14:28:53 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Затем добавьте пользователя root в группу www-data с помощью следующей команды:

usermod -g www-data root

Затем отредактируйте файл конфигурации Jupyter Notebook и включите удаленный доступ:

nano /root/.jupyter/jupyter_notebook_config.py

Измените следующую строку:

c.NotebookApp.allow_remote_access = True

Сохраните и закройте файл, затем перезапустите службу Jupyter Notebook, чтобы изменения вступили в силу:

systemctl restart jupyter

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к блокноту Jupyter

Теперь откройте веб-браузер и войдите в блокнот Jupyter, используя URL-адрес http://jupyter.example.com. Вам будет предложено ввести пароль Jupyter Notebook на следующем экране:

Укажите свой пароль и нажмите на кнопку Войти. Вы должны увидеть панель инструментов Jupyter Notebook на следующем экране:

Заключение

Поздравляем! вы успешно установили Jupyter Notebook с Nginx в качестве обратного прокси-сервера на Ubuntu 22.04. Теперь вы можете создавать, делиться и запускать свой ноутбук через Интернет. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.