DEV Community

Kiyoshi Yamamoto
Kiyoshi Yamamoto

Posted on

DebianにJupyterサーバーを入れてクライアントPCからPythonの勉強

別にUbuntuでも良いのですが僕はDebianが好きです。KDEを使用することが多いですが、今回はウェブサーバーというのかな?なのでトラブル時のために一応KDEは入れていますがGUIは止めてます。

Debianのダウンロード

インストール作業は説明しませんが、SSHをインストール時に追加しておくと便利です。

まずsudoがないとできないので

su -

でrootになってユーザーにsudoを付けます。

usermod -aG sudo 'user-name'
Enter fullscreen mode Exit fullscreen mode

一度再起動するとsudoが使えるようになります。
再起動したらsshを起動します。ここでKDE(もしくはGNOME)は止めても構いません。

sudo systemctl enable --now sshd
sudo systemctl set-default multi-user.target #KDEを止める
Enter fullscreen mode Exit fullscreen mode

ここから自分のパソコンから作業します。

ssh 'user-name'@'server-ip'
Enter fullscreen mode Exit fullscreen mode

Jupyterをインストールしていきます。まずPythonが入っているか確認しpipをインストールしたらnotebookを作ります。(その後にjupyter notebookと打つとブラウザが起動するみたいですがやらない。)

python3 --version
sudo apt install pip
sudo apt install jupyter-notebook
Enter fullscreen mode Exit fullscreen mode

ここから大事です。設定ファイルを作り、外から接続できる設定をします。

jupyter-notebook --generate-config
nano .jupyter/jupyter_notebook_config.py
Enter fullscreen mode Exit fullscreen mode

最後の行にこれをつけておきます。

c.NotebookApp.ip='*' #どのIPからでも接続化とする
c.NotebookApp.port = 8888 
c.NotebookApp.open_browser = False  #自動でブラウザを起動しない
Enter fullscreen mode Exit fullscreen mode

サービス、jupyter.serviceを作り、起動時に自動で起動するようにします。(ユーザー名は変えてください)

sudo nano /etc/systemd/system/jupyter.service
Enter fullscreen mode Exit fullscreen mode
[Unit]
Description=Jupyter Notebook
[Service]
Type=simple
PIDFile=/var/run/jupyter.pid
ExecStart=/usr/bin/python3 /usr/bin/jupyter-notebook --config=/home/***/.jupyter/jupyter_notebook_config.py
User=***
Group=***
WorkingDirectory=/home/***/
Restart=always

[Install]
WantedBy=multi-user.target
Enter fullscreen mode Exit fullscreen mode

作ったサービスを起動します。

sudo systemctl enable --now jupyter
Enter fullscreen mode Exit fullscreen mode

ブラウザから「http://サーバーのIPアドレス:8888」で接続できたらOKです。

Top comments (0)