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



This content originally appeared on DEV Community and was authored by Kiyoshi Yamamoto

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

Debianのダウンロード

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

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

su -

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

usermod -aG sudo 'user-name'

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

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

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

ssh 'user-name'@'server-ip'

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

python3 --version
sudo apt install pip
sudo apt install jupyter-notebook

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

jupyter-notebook --generate-config
nano .jupyter/jupyter_notebook_config.py

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

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

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

sudo nano /etc/systemd/system/jupyter.service
[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

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

sudo systemctl enable --now jupyter

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


This content originally appeared on DEV Community and was authored by Kiyoshi Yamamoto