前面就已經提到過 jupyter notebook 這一強大的工具了,今天再來記錄一篇跟它的配置有關的教程吧。python
用過 jupyter notebook 的人應該都清楚,這個強大的工具實際上是一個 web 應用,咱們在本地使用時也是經過瀏覽器訪問 http://localhost:8888 來進行操做的。web
既然是 web 應用,那我能不能把它部署在服務器上來遠程訪問呢?答案固然是能夠的,只須要修改一下配置文件便可!vim
生成配置文件
新安裝的 jupyter notebook 是沒有附帶配置文件的,因此須要先生成:瀏覽器
jupyter notebook --generate-config
此命令會輸出生成的配置文件的位置,需記錄下來。安全
生成密碼sha1值
開啓遠程訪問的話意味着你的 jupyter notebook 服務會暴露在公網中,因此爲了安全咱們須要設置一下頁面密碼。服務器
在 jupyter 的配置文件中要填寫的並非密碼的明文,而是想要設置密碼的sha1值。在這裏咱們使用 ipython 的 passwd 庫來生成密碼的 sha1 值。ssh
輸入 ipython ,進入 ipython 的交互界面,而後依次輸入及其輸出以下,按輸出說明填寫密碼:ide
In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: Verify password: Out[2]: 'sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274'
把 out[2] 的內容複製下來備用。工具
修改配置文件3d
vim ~/.jupyter/jupyter_notebook_config.py
vim 後面換成你本身的配置文件路徑。
將以下幾項內容去除註釋後修改值以下並保存:
c.NotebookApp.ip='0.0.0.0'
c.NotebookApp.password = u'sha:ce...剛纔複製的那個out[2]的內容'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #隨便指定一個端口
啓動服務
在想要工做的目錄下輸入 jupyter notebook 便可啓動服務,但這樣的前臺服務在 ssh 斷開後也會中斷。如果想要保持其運行狀態的話,能夠用 screen 命令將其掛在後臺運行。
screen -S jupyter
jupyter notebook
以後同時按下鍵盤上的 ctrl+a+d 鍵便可將當前 screen 窗口掛到後臺,這樣即便 ssh 鏈接斷開了也不會致使服務中斷。
在服務啓動後用瀏覽器訪問 http://你的服務ip地址:你的端口 便可打開 jupyter notebook 的密碼頁面,輸入前面設置的密碼後就能夠跟本地同樣正常使用啦。