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
次に、Pythonと依存関係(Pip、venv、Python Devパッケージなど)をインストールします。インストールを確認するために「 Y 」を入力してください。
sudo apt install python3 python3-pip python3-dev python3-venv git
インストールが完了したら、以下の「 pip3 」コマンドを実行してPipのバージョンをアップグレードします。
pip3 install --break-system-package --upgrade pip次に、以下のコマンドでPythonとPipのバージョンを確認します。
python3 --version
pip3 --version以下に示すように、Python 3.11 と Pip 24.3 がインストールされています。

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
「 venv 」を非アクティブにしたい場合は、以下の「 deactivate 」コマンドを実行します。
deactivateJupyterのインストール
Python仮想環境を作成してアクティブにしたので、Pip Pythonパッケージマネージャーを通じてJupyterのインストールを開始できます。
Jupyterをインストールするには、以下の「 pip3 」コマンドを実行します。
pip3 install jupyter以下に、仮想環境内でのJupyterのインストールが表示されます。

インストールが完了したら、以下のコマンドでJupyterのバージョンを確認します。
jupyter --version次の出力では、インストールされた各Jupyterコンポーネントのバージョンが表示されます。

Jupyter Notebookでの認証の有効化
Jupyterをインストールした後、パスワード認証を有効にしてJupyter Notebookのインストールを構成します。
まず、以下のコマンドを実行してJupyter Notebookの設定を生成します。これにより、「 ~/.jupyter/jupyter_notebook_config.py 」に新しい設定が生成されます。
jupyter notebook --geenrate-config次に、以下のコマンドを使用してJupyter Notebookのパスワードを設定します。プロンプトが表示されたらパスワードを入力し、再度入力します。
jupyter notebook password最後に、「 deactivate 」コマンドを実行して「venv」仮想環境からログアウトします。
deactivateJupyter 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 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のために生成されたトークンをコピーします。

Nginxをリバースプロキシとして設定
Jupyter Notebookがサービスとして実行されているので、次のステップはNginxをインストールし、Jupyter Notebookのリバースプロキシとして構成することです。これにより、Jupyter NotebookをHTTPSで簡単に保護できます。
以下の「 apt 」コマンドを使用して「 nginx 」パッケージをインストールします。
sudo apt install nginx -y
インストールが完了したら、以下の「 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 」のような出力が表示されます。

最後に、以下の「 systemctl 」コマンドを実行してNginxウェブサーバーを再起動し、Nginxの状態を確認します。
sudo systemctl restart nginx
sudo systemctl status nginxNginxが実行されている場合、以下のような出力が表示されます。

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

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


結論
おめでとうございます!Debian 12サーバーにJupyter Notebookのインストールが完了しました。Jupyter Notebookをインストールし、認証で保護しました。また、Jupyter NotebookのリバースプロキシとしてNginxを構成しました。次のステップでは、Jupyter Notebookを保護するためにSSL証明書を追加し、Jupyter Notebookの機能を拡張するためにいくつかの拡張機能をインストールしたいと思います。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。