如何遠程訪問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進行寫代碼
更新,jupyter lab開機自啟動
參考 :https://bbs.huaweicloud.com/blogs/100595
更新:用systemctl來做自啟動
