搭建遠端jupyter lab伺服器,並在本地瀏覽器以 remote_ip:port 形式連線
阿新 • • 發佈:2021-10-10
如何遠端訪問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伺服器
-
首先安裝jupyter外掛,直接搜尋安裝即可
-
建立一個ipynb檔案
-
連線jupyter 伺服器(右下角)
輸入http://remote_ipaddress:8872
再輸入密碼
愉快使用vscode進行寫程式碼