Установка и настройка Jupyter Notebook — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Установка и настройка Jupyter Notebook = == 1. Подготовка системы == * Войдите в систему под учетн…»)
(нет различий)

Версия 08:35, 15 октября 2025

Содержание

Установка и настройка Jupyter Notebook

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к серверу через SSH или консоль.

2. Установка Python =

Обновление системы

1. Обновите систему: sudo apt update

2. Установите Python и pip: sudo apt install -y python3 python3-pip python3-venv python3-dev

3. Проверьте версию Python: python3 --version pip3 --version

Создание виртуального окружения

1. Создайте директорию для проекта: mkdir -p ~/jupyter-project cd ~/jupyter-project

2. Создайте виртуальное окружение: python3 -m venv jupyter-env

3. Активируйте виртуальное окружение: source jupyter-env/bin/activate

4. Обновите pip: pip install --upgrade pip

3. Установка Jupyter Notebook =

Установка Jupyter

1. Установите Jupyter Notebook: pip install jupyter

2. Установите дополнительные пакеты: pip install notebook jupyterlab jupyterhub

3. Проверьте установку: jupyter --version

Настройка Jupyter

1. Создайте конфигурационный файл: jupyter notebook --generate-config

2. Отредактируйте конфигурацию: nano ~/.jupyter/jupyter_notebook_config.py

3. Добавьте настройки: c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.port = 8888 c.NotebookApp.open_browser = False c.NotebookApp.allow_root = True c.NotebookApp.allow_origin = '*' c.NotebookApp.disable_check_xsrf = True

4. Настройка безопасности =

Настройка пароля

1. Создайте пароль для Jupyter: jupyter notebook password

2. Введите пароль дважды для подтверждения

Настройка SSL

1. Создайте SSL сертификаты: mkdir -p ~/.jupyter/ssl openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.jupyter/ssl/jupyter.key -out ~/.jupyter/ssl/jupyter.crt

2. Настройте SSL в конфигурации: nano ~/.jupyter/jupyter_notebook_config.py

3. Добавьте SSL настройки: c.NotebookApp.certfile = '/home/user/.jupyter/ssl/jupyter.crt' c.NotebookApp.keyfile = '/home/user/.jupyter/ssl/jupyter.key' c.NotebookApp.open_browser = False

5. Настройка системы как сервиса =

Создание systemd сервиса

1. Создайте файл сервиса: sudo nano /etc/systemd/system/jupyter.service

2. Добавьте конфигурацию: [Unit] Description=Jupyter Notebook After=network.target

[Service] Type=simple User=jupyter Group=jupyter WorkingDirectory=/home/jupyter Environment=PATH=/home/jupyter/jupyter-env/bin ExecStart=/home/jupyter/jupyter-env/bin/jupyter notebook --config=/home/jupyter/.jupyter/jupyter_notebook_config.py Restart=always RestartSec=10

[Install] WantedBy=multi-user.target

3. Создайте пользователя jupyter: sudo useradd -m -s /bin/bash jupyter

4. Переместите проект: sudo mv ~/jupyter-project /home/jupyter/ sudo chown -R jupyter:jupyter /home/jupyter/

5. Запустите сервис: sudo systemctl daemon-reload sudo systemctl start jupyter sudo systemctl enable jupyter

6. Проверьте статус: sudo systemctl status jupyter

6. Настройка веб-сервера =

Установка Nginx

1. Установите Nginx: sudo apt install -y nginx

2. Запустите и включите автозапуск: sudo systemctl start nginx sudo systemctl enable nginx

Настройка прокси

1. Создайте конфигурацию для Jupyter: sudo nano /etc/nginx/sites-available/jupyter

2. Добавьте конфигурацию: server {

   listen 80;
   server_name jupyter.example.com;
   
   location / {
       proxy_pass http://localhost:8888;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       
       # WebSocket support
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
   }

}

3. Включите сайт: sudo ln -s /etc/nginx/sites-available/jupyter /etc/nginx/sites-enabled/

4. Проверьте конфигурацию: sudo nginx -t

5. Перезапустите Nginx: sudo systemctl restart nginx

7. Настройка SSL =

Установка Certbot

1. Установите Certbot: sudo apt install -y certbot python3-certbot-nginx

2. Получите SSL сертификат: sudo certbot --nginx -d jupyter.example.com

3. Настройте автоматическое обновление: sudo crontab -e

4. Добавьте задачу: 0 12 * * * /usr/bin/certbot renew --quiet

Проверка SSL

1. Проверьте SSL сертификат: sudo certbot certificates

2. Протестируйте SSL: curl -I https://jupyter.example.com

8. Установка дополнительных пакетов =

Установка научных библиотек

1. Активируйте виртуальное окружение: source /home/jupyter/jupyter-env/bin/activate

2. Установите научные библиотеки: pip install numpy pandas matplotlib seaborn scikit-learn scipy

3. Установите Jupyter расширения: pip install jupyter_contrib_nbextensions jupyter contrib nbextension install --user

Настройка расширений

1. Включите полезные расширения: jupyter nbextension enable --py widgetsnbextension --sys-prefix jupyter nbextension enable --py --sys-prefix qgrid jupyter nbextension enable --py --sys-prefix plotlywidget

2. Настройте расширения: jupyter nbextension enable code_prettify/code_prettify jupyter nbextension enable collapsible_headings/main jupyter nbextension enable toc2/main

9. Настройка JupyterLab =

Установка JupyterLab

1. Установите JupyterLab: pip install jupyterlab

2. Настройте JupyterLab: nano ~/.jupyter/jupyter_lab_config.py

3. Добавьте настройки: c.ServerApp.ip = '0.0.0.0' c.ServerApp.port = 8889 c.ServerApp.open_browser = False c.ServerApp.allow_root = True c.ServerApp.allow_origin = '*' c.ServerApp.disable_check_xsrf = True

Настройка расширений JupyterLab

1. Установите расширения: pip install jupyterlab-git jupyterlab-lsp jupyterlab-code-formatter

2. Включите расширения: jupyter labextension install @jupyterlab/git jupyter labextension install @krassowski/jupyterlab-lsp

10. Настройка JupyterHub =

Установка JupyterHub

1. Установите JupyterHub: pip install jupyterhub

2. Установите аутентификатор: pip install oauthenticator

3. Настройте JupyterHub: nano ~/.jupyter/jupyterhub_config.py

4. Добавьте настройки: c.JupyterHub.ip = '0.0.0.0' c.JupyterHub.port = 8000 c.JupyterHub.authenticator_class = 'oauthenticator.LocalAuthenticator' c.JupyterHub.spawner_class = 'jupyterhub.spawner.LocalProcessSpawner' c.JupyterHub.admin_access = True c.JupyterHub.allow_named_servers = True

Настройка аутентификации

1. Настройте OAuth: c.JupyterHub.authenticator_class = 'oauthenticator.GoogleOAuthenticator' c.GoogleOAuthenticator.oauth_callback_url = 'https://jupyter.example.com/hub/oauth_callback' c.GoogleOAuthenticator.client_id = 'your-client-id' c.GoogleOAuthenticator.client_secret = 'your-client-secret'

11. Мониторинг и обслуживание =

Настройка логирования

1. Настройте логирование: nano ~/.jupyter/jupyter_notebook_config.py

2. Добавьте настройки логирования: c.NotebookApp.log_level = 'INFO' c.NotebookApp.log_format = '[%(name)s]%(highlevel)s %(message)s' c.NotebookApp.log_datefmt = '%Y-%m-%d %H:%M:%S'

Создание скрипта мониторинга

1. Создайте скрипт мониторинга: sudo nano /usr/local/bin/jupyter-monitor.sh

2. Добавьте содержимое: #!/bin/bash

  1. Проверка статуса Jupyter

if ! systemctl is-active --quiet jupyter; then

   echo "Jupyter is down!" | mail -s "Jupyter Alert" admin@example.com

fi

  1. Проверка доступности веб-интерфейса

if ! curl -s -o /dev/null -w "%{http_code}" http://localhost:8888 | grep -q "200"; then

   echo "Jupyter web interface is not responding!" | mail -s "Jupyter Alert" admin@example.com

fi

  1. Проверка использования ресурсов

CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | awk -F'%' '{print $1}') MEMORY_USAGE=$(free | grep Mem | awk '{printf("%.2f", $3/$2 * 100.0)}')

if [ $(echo "$CPU_USAGE > 80" | bc) -eq 1 ]; then

   echo "High CPU usage: $CPU_USAGE%" | mail -s "Jupyter Alert" admin@example.com

fi

if [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then

   echo "High memory usage: $MEMORY_USAGE%" | mail -s "Jupyter Alert" admin@example.com

fi

3. Сделайте скрипт исполняемым: sudo chmod +x /usr/local/bin/jupyter-monitor.sh

4. Добавьте в crontab: sudo crontab -e

5. Добавьте задачу: */5 * * * * /usr/local/bin/jupyter-monitor.sh

12. Резервное копирование =

Создание скрипта резервного копирования

1. Создайте скрипт резервного копирования: sudo nano /usr/local/bin/jupyter-backup.sh

2. Добавьте содержимое: #!/bin/bash

BACKUP_DIR="/backup/jupyter" DATE=$(date +%Y%m%d_%H%M%S)

  1. Создание директории для бэкапа

mkdir -p $BACKUP_DIR

  1. Резервное копирование конфигурации

tar -czf $BACKUP_DIR/jupyter-config-$DATE.tar.gz -C /home/jupyter .jupyter

  1. Резервное копирование проектов

tar -czf $BACKUP_DIR/jupyter-projects-$DATE.tar.gz -C /home/jupyter jupyter-project

  1. Резервное копирование виртуального окружения

tar -czf $BACKUP_DIR/jupyter-env-$DATE.tar.gz -C /home/jupyter jupyter-env

  1. Резервное копирование конфигурации Nginx

tar -czf $BACKUP_DIR/nginx-config-$DATE.tar.gz -C /etc nginx

  1. Удаление старых бэкапов (старше 7 дней)

find $BACKUP_DIR -name "jupyter-*" -mtime +7 -delete

echo "Jupyter backup completed: $DATE"

3. Сделайте скрипт исполняемым: sudo chmod +x /usr/local/bin/jupyter-backup.sh

4. Добавьте в crontab: sudo crontab -e

5. Добавьте задачу: 0 2 * * * /usr/local/bin/jupyter-backup.sh

13. Устранение неполадок =

Частые проблемы

1. Jupyter не запускается:

  • Проверьте статус сервиса: sudo systemctl status jupyter
  • Проверьте логи: sudo journalctl -u jupyter
  • Проверьте конфигурацию

2. Проблемы с доступом:

  • Проверьте настройки файрвола
  • Проверьте конфигурацию Nginx
  • Проверьте SSL сертификаты

3. Проблемы с производительностью:

  • Настройте ограничения ресурсов
  • Оптимизируйте конфигурацию
  • Проверьте использование диска

Диагностика

1. Проверка статуса сервисов: sudo systemctl status jupyter sudo systemctl status nginx

2. Проверка логов: sudo journalctl -u jupyter sudo tail -f /var/log/nginx/error.log

3. Проверка портов: sudo netstat -tlnp | grep :8888

4. Проверка конфигурации: jupyter notebook --config=/home/jupyter/.jupyter/jupyter_notebook_config.py

5. Тестирование подключения: curl -I http://localhost:8888

Заключение

Jupyter Notebook успешно установлен и настроен! Теперь у вас есть мощная платформа для интерактивной разработки с возможностями веб-доступа, расширений и интеграций.

Для размещения ваших Jupyter решений на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Jupyter и оптимизацией производительности ваших аналитических решений!