Jupyter Notebook · 2 min read · Sep 11, 2025

Debian 12にNginxプロキシを使用してJupyter Notebookをインストールする方法

Jupyterは、インタラクティブなコンピューティングとデータサイエンスのための無料でオープンソースのWebアプリケーションです。Jupyterはすべてのプログラミング言語をサポートし、JupyetrLabのような複数のソフトウェアを提供します。これは、機能豊富でタブ付きのマルチノートブック編集環境を提供し、Notebookは軽量で簡素化されたノートブック作成を提供し、Qtconsoleなどもあります。

このチュートリアルでは、Jupyterをインストールし、Debian 12サーバー上でJupyter Notebookを構成する方法を学びます。また、Jupyter Notebookをパスワードで保護し、systemdサービスとしてJupyter Notebookを実行します。最後に、Jupyter NotebookのインストールのためにNginxをリバースプロキシとしてインストールおよび構成します。

前提条件

始める前に、以下のものを用意してください:

  • Debian 12サーバー
  • 管理者権限を持つ非ルートユーザー
  • サーバーIPアドレスを指すドメイン名

Pythonパッケージのインストール

Jupyterをインストールする前に、Python、Pip Pythonパッケージマネージャー、Python仮想環境を作成するためのvenv、gitをインストールする必要があります。このセクションでは、APTパッケージマネージャーを使用してこれらのパッケージをインストールします。

まず、以下のコマンドを実行してDebianパッケージインデックスを更新します。

sudo apt update

update repo

次に、Pythonと依存関係(Pip、venv、Python Devパッケージなど)をインストールします。インストールを確認するために「 Y 」を入力してください。

sudo apt install python3 python3-pip python3-dev python3-venv git

install packages

インストールが完了したら、以下の「 pip3 」コマンドを実行してPipのバージョンをアップグレードします。

pip3 install --break-system-package --upgrade pip

次に、以下のコマンドでPythonとPipのバージョンを確認します。

python3 --version  
pip3 --version

以下に示すように、Python 3.11 と Pip 24.3 がインストールされています。

check pip and python

Python仮想環境の設定

Pythonと他の依存関係をインストールした後、Jupyterインストール用の新しいPython仮想環境を作成します。これにより、Jupyterのインストールが仮想環境内で隔離されます。また、専用のLinuxユーザーが必要なので、ユーザーが準備できていることを確認してください。

以下のコマンドでユーザーにログインします。

su - username

以下の「 python3 」コマンドを実行して、新しいPython仮想環境「 venv 」を作成します。これにより、システムとは別の仮想環境にPythonとPipがインストールされます。

python3 -m venv venv

venv 」Python仮想環境をアクティブにします。アクティブ化されると、シェルプロンプトが「 (venv) username@host … 」のようになります。

source venv/bin/activate

create venv

venv 」を非アクティブにしたい場合は、以下の「 deactivate 」コマンドを実行します。

deactivate

Jupyterのインストール

Python仮想環境を作成してアクティブにしたので、Pip Pythonパッケージマネージャーを通じてJupyterのインストールを開始できます。

Jupyterをインストールするには、以下の「 pip3 」コマンドを実行します。

pip3 install jupyter

以下に、仮想環境内でのJupyterのインストールが表示されます。

install juopyter

インストールが完了したら、以下のコマンドでJupyterのバージョンを確認します。

jupyter --version

次の出力では、インストールされた各Jupyterコンポーネントのバージョンが表示されます。

check version

Jupyter Notebookでの認証の有効化

Jupyterをインストールした後、パスワード認証を有効にしてJupyter Notebookのインストールを構成します。

まず、以下のコマンドを実行してJupyter Notebookの設定を生成します。これにより、「 ~/.jupyter/jupyter_notebook_config.py 」に新しい設定が生成されます。

jupyter notebook --geenrate-config

次に、以下のコマンドを使用してJupyter Notebookのパスワードを設定します。プロンプトが表示されたらパスワードを入力し、再度入力します。

jupyter notebook password

最後に、「 deactivate 」コマンドを実行して「venv」仮想環境からログアウトします。

deactivate

Jupyter Notebookをsystemdサービスとして実行

このセクションでは、Jupyter Notebookを実行する新しいsystemdサービスを作成します。これにより、Jupyter Notebookはバックグラウンドでsystemdサービスとして実行され、’ systemctl ‘ユーティリティを使用して簡単に管理できます。

以下の「 nano 」エディタを使用して、新しいsystemdサービスファイル「 /etc/systemd/system/jupyter.service 」を作成します。

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

以下の設定を挿入して、Jupyter Notebookをsystemdサービスとして実行します。

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

ファイルを保存してエディタを終了します。

次に、以下の「 systemctl 」コマンドを実行してsystemdマネージャーを再起動し、変更を適用します。

sudo systemctl daemon-reload

最後に、以下のコマンドで「 jupyter 」サービスを開始および有効にします。

sudo systemctl enable --now jupyter  
sudo systemctl status jupyter

次の出力では、「 jupyter 」サービスがシステムで実行されていることが確認できます。

jupyter status

Jupyter Notebookへのリモートアクセスを許可

このセクションでは、Jupyterへのリモートアクセスを有効にします。これは、Jupyterインストールの前にリバースプロキシを設定したい場合に必要です。

ユーザーにログインし、以下の「nano」エディタを使用してJupyter設定「~/.jupyter/jupyter_notebook_config.py」を開きます。

su - username  
nano ~/.jupyter/jupyter_notebook_config.py

リモートアクセスを有効にするには、「 c.ServerApp.allow_remote_access 」オプションのコメントを解除し、値を「 True 」に変更します。

c.ServerApp.allow_remote_access = True

完了したら、ファイルを保存して終了します。

次に、以下の「 systemctl 」コマンドを実行して「 jupyter 」サービスを再起動し、変更を適用します。これにより、新しいトークンが生成され、ログファイルに見つけることができます。

sudo systemctl restart jupyter

最後に、以下のコマンドで「 jupyter 」サービスの状態を確認します。

sudo systemctl status jupyter

メッセージの下部を確認し、Jupyter Notebookのために生成されたトークンをコピーします。

token

Nginxをリバースプロキシとして設定

Jupyter Notebookがサービスとして実行されているので、次のステップはNginxをインストールし、Jupyter Notebookのリバースプロキシとして構成することです。これにより、Jupyter NotebookをHTTPSで簡単に保護できます。

以下の「 apt 」コマンドを使用して「 nginx 」パッケージをインストールします。

sudo apt install nginx -y

install nginx

インストールが完了したら、以下の「 nano 」エディタを使用して新しいNginxサーバーブロック設定「 /etc/nginx/sites-available/jupyter 」を作成します。

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

以下の設定を挿入して、Jupyter NotebookのリバースプロキシとしてNginxを設定します。「 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;  
}  
}

ファイルを保存してエディタを終了します。

次に、以下のコマンドを実行して「 jupyter 」サーバーブロックを有効にし、Nginx設定を確認します。

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

適切なNginx設定があれば、「 syntax is ok - test is successful 」のような出力が表示されます。

setup nginx

最後に、以下の「 systemctl 」コマンドを実行してNginxウェブサーバーを再起動し、Nginxの状態を確認します。

sudo systemctl restart nginx  
sudo systemctl status nginx

Nginxが実行されている場合、以下のような出力が表示されます。

check nginx

Jupyter Notebookへのアクセス

Webブラウザを開き、Jupyter Notebookインストールのドメイン名(例:http://lab.howtoforge.local/)にアクセスします。インストールが成功していれば、Jupyterパスワード認証が表示されます。

パスワードを入力し、「 Log In 」をクリックします。

login

これで、以下のようなJupyter Notebookダッシュボードが表示されます。

dashboard

notebook

結論

おめでとうございます!Debian 12サーバーにJupyter Notebookのインストールが完了しました。Jupyter Notebookをインストールし、認証で保護しました。また、Jupyter NotebookのリバースプロキシとしてNginxを構成しました。次のステップでは、Jupyter Notebookを保護するためにSSL証明書を追加し、Jupyter Notebookの機能を拡張するためにいくつかの拡張機能をインストールしたいと思います。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。