本地使用伺服器端執行的Jupyter Notebook
阿新 • • 發佈:2019-01-27
20180414更新:
發現這東西完全可以像一個類似於windows下登入遠端伺服器的類似Xshell, Xftp一樣的東西。
傳檔案、拷檔案,terminal,妥了!!
愛上Jupyter 了!!!
===================================================================
主要思路:
- 安裝Jupyter notebook
- 配置檔案
- 設定密碼
- 生成ssl證書
- 給配置檔案新增ssl金鑰和自己的設定的登入密碼
- 後臺執行掛起
- Enjoy Jupyter-lab.
1. 伺服器端安裝Anaconda, 安裝好jupyter notebook 等等
2. 生成配置檔案
jupyter notebook --generate-config
3. 配置密碼
開啟python,輸入
from notebook.auth import passwd
passwd()
輸入你設定的自己的密碼,然後他生成一個密碼序列,複製下來。
4. 生成ssl證書,最後是用https登入的:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
5.修改jupyter配置檔案,
開啟第2步生成的配置檔案,一般在:
~/.jupyter
開啟配置檔案
vim ~/.jupyter/jupyter_notebook_config.py
新增進入幾行:
c.NotebookApp.password = u'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
剛剛3生成的密碼序列。
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False
#9999是自己設定的,你也可以設成別的
c.NotebookApp.port = 9999
/absolute/path/to/your/certificate是指你存放mycert.pem和mykey.key的路徑,執行第4步生成ssl的 當前路徑,用pwd可以看
6. 在伺服器上用 nohup 後臺掛起執行jupyter
nohup jupyter notebook &
# 如果你裝jupyter-lab的就開啟jupyter-lab也行
7. 現在你可以在任何瀏覽器上輸入:
https://XXX.XX.XXX:abcd
(假設你的伺服器IP是XXX.XX.XXX,你前面第5步設定的port是abcd)
輸入你前面自己設定的密碼就可以訪問伺服器上jupyter了。
關於這個https訪問的安全性問題,還需要高手進一步指導怎麼提高安全性問題,歡迎留言討論。