1. 程式人生 > >windows遠端連線伺服器中的jupyter notebook

windows遠端連線伺服器中的jupyter notebook

要實現標題所描述的功能,需要在Liunx伺服器端和windows客戶端分別進行配置,需要配置的內容如下:

1、Linux伺服器端配置

(1)啟動ipython或者python

(2)建立遠端連線密碼;

from notebook.auth import passwd
passwd()

輸入兩次密碼,將得到一個字串,比如'sha1:d0270e88f33b:212384922803ca9bd49d1fb6c11ab42651ccb358',複製該字串,後面會用到。

(3)生成jupyter的配置檔案,將會在對應目錄下生成一個隱藏資料夾.jupyter,該資料夾中有一個jupyter的配置檔案;

$ jupyter notebook --generate-config

(4)開啟配置檔案;

$ vim ~/.jupyter/jupyter_notebook_config.py

(5)複製以下內容貼上到配置檔案中;

c.NotebookApp.ip = '*'


c.NotebookApp.password = u' sha1:步驟(2)生成的一串數字'


c.NotebookApp.port = 9001


c.InteractiveShellApp.matplotlib = 'inline'

(6)設定jupyter notebook在後臺不間斷執行,且配置成錯誤資訊輸出到螢幕(可選);

$ nohup jupyter notebook >/dev/null 2>&1 &

2、windows客戶端配置

(1)需要安裝一個windows遠端ssh登入Linux的工具,可以是Xshell或SecureCRT,這兩個工具的安裝簡單,如果遇到問題請自行百度;

(2)Xshell或SecureCRT第一次啟動需要新建連線,一般輸入伺服器IP地址、使用者名稱、密碼即可,這裡不細述;

(3)如果安裝了Xshell,在Xshell的選單欄,點選檔案-屬性-SSH-隧道-新增,偵聽埠輸入9001,目標主機設為伺服器的IP地址,目標埠設為9001,“說明”中填入jupyter,確定。如果安裝了SecureCRT,點選Options-Session Options-Port Forwarding-Add,name中填入jupyter,第一個port填入9001,勾選“Destination host is different from the SSH server”,填入伺服器的IP地址,port填入9001,點兩次OK;

(4)在第(2)步成功遠端登入命令列視窗中輸入 $ jupyter notebook;

(5)開啟本地windows的瀏覽器,位址列輸入localhost:9001,回車,輸入Linux伺服器端配置時第(2)步設定的密碼,回車,jupyter介面就出來了。

錯誤解決:

如果瀏覽器連線錯誤,可能是port設定錯了,注意檢視運行了 $ jupyter notebook的視窗中的內容,如果最下面幾行是這樣的:

[I 22:24:20.259 NotebookApp] The port 9001 is already in use, trying another port.
[I 22:24:20.264 NotebookApp] Serving notebooks from local directory: /home/duqi/genderPredict_duqi
[I 22:24:20.264 NotebookApp] 0 active kernels 
[I 22:24:20.264 NotebookApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:9002/
[I 22:24:20.264 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 22:24:20.265 NotebookApp] No web browser found: could not locate runnable browser.

注意到第一行說明9001埠被使用了,第四行提示Jupyter Notebook在9002埠執行,這樣的話就需要更改第(3)步中的本機埠設定為9002,然後在瀏覽器中也是輸入9002