1. 程式人生 > 其它 >搭建遠端jupyter lab伺服器,並在本地瀏覽器以 remote_ip:port 形式連線

搭建遠端jupyter lab伺服器,並在本地瀏覽器以 remote_ip:port 形式連線

如何遠端訪問jupyter

這個其實可以玩的很花,比如用nginx代理,用一個域名來訪問jupyter,但是我這裡只做一個基本的遠端登入,即通過瀏覽器使用 remote_ip: port 來實現遠端訪問

使用screen
sudo apt install screen 

建議jupyter在screen下開啟,這樣關閉shell終端後也能繼續執行程式


screen -S jupyter-screen #建立一個screen
screen -r jupyter-screen # 登入進去
# Ctrl + a +d 離開screen命令
使用 jupyter lab
conda install jupyter-lab

安裝完畢後需要進行一系列設定

設定密碼

不要再傻乎乎的用什麼ipython複製貼上來做,我的天!jupyter早就實現了一鍵修改密碼。

jupyter notebook password # 設定密碼,因為是公網暴露,所以密碼還是複雜點好
其他設定
jupyter notebook --generate-config
# 通常config檔案為 ~/.jupyter/jupyter_notebook_config.py
sudo vim  ~/.jupyter/jupyter_notebook_config.py

對該config檔案進行編輯:

c.NotebookApp.ip='*' # 允許所有ip訪問
c.NotebookApp.open_browser = False # 不開啟瀏覽器
c.NotebookApp.port =8872 #指定埠,不要用預設8888埠!公網上不用預設埠是好文明
c.NotebookApp.allow_remote_access = True #允許遠端機器訪問

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意

請確定你每次要將哪個目錄作為jupyter的工作目錄

比如/home/username/jupyter_project 這個目錄你要自己定

c.NotebookApp.notebook_dir = '/home/username/jupyter_project'

請一定要填寫這個,不然開啟jupyter會顯示404

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意


後臺執行

OK我們已經設定好了jupyter,現在進入screen裡面執行

nohup jupyter lab -p 8872 & #後臺執行
殺死jupyter:
netstat -nlp | grep 8872 # 檢視執行在8872埠的程序id

或者你也可以

ps -a

直接找到jupyter程序的id號

kill -9 <jupyter_id>
開啟伺服器埠

如果你在一個伺服器上開啟jupyter,可能你需要做防火牆設定

#開放8872埠
sudo firewall-cmd --zone=public --add-port=8872/tcp --permanent
vscode 連線jupyter伺服器
  1. 首先安裝jupyter外掛,直接搜尋安裝即可

  2. 建立一個ipynb檔案

  3. 連線jupyter 伺服器(右下角)

輸入http://remote_ipaddress:8872

再輸入密碼

愉快使用vscode進行寫程式碼