服務器上搭建Jupyter Notebook服務

  • 服務器上安裝Jupyter
  • 配置具有密碼的Jupyter Notebook

服務器上安裝Jupyter

安裝Jupyter其實很簡單, sudo pip install ipython jupyter就可以了.
但如果, 服務器像是Ubuntu 14.04這種老版本, 默認python版本最新只到2.7.6, 安裝jupyter時可能報錯因ssl的問題安裝不了. 此時要更新Python2. 可以參考網上自行更新python的方法.
更好的解決方案是使用conda安裝新版本的python和相關需要的程序, 而不通過pip進行安裝.

  1. 安裝Miniconda2 : wget https://repo.anaconda.com/miniconda/Miniconda2-latest-Linux-x86_64.sh
  2. chmod +x Miniconda2-latest-Linux-x86_64.sh; ./Miniconda2-latest-Linux-x86_64.sh
  3. 提示安裝目錄, 隨意, 可以默認. 最後提示是否把conda路徑加入到.bashrcPATH, yes.
  4. conda install ipython jupyter

安裝好後, 可以運行jupyter notebook 進行測試(ctrl+c)退出.

  • 運行notebook可能報錯:
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128)
    查看上面輸出時還有一段中文: 這將啓動一個基於tornado的HTML筆記本服務器,它提供一個html5/javascript筆記本客戶端。 看來是編碼的問題.
    可以在運行前加入語言更改, LANG=en jupyter notebook. 如果可以解決, 可以把export LANG=en_US.UTF-8寫到.bashrc

配置Jupyter Notebook密碼

  1. 生成加密的密碼: jupyter notebook password
  2. 改密碼會保存在~/.jupyter/jupyter_notebook_config.json內, 是一個sha1加密的密碼.
  3. 生成jupyter配置文件, jupyter notebook --generate-config, 會生成一個./.jupyter/jupyter_notebook_config.py文件. 內有各種參數和默認設置 (默認下全部註釋掉). 修改部分重要參數
  4. nohup jupyter notebook >.jupyter/jupyter_notebook.log 2>&1 & 背景運行notebook, 也可以寫入到啓動文件哦.
  5. 可以用 tail -f .jupyter/jupyter_notebook.log追蹤日誌(前提有上面一句命令)
  6. 瀏覽器輸入服務器ip:端口號, 輸入密碼, 即可遠程登錄notebook!
  7. 默認下不允許使用root來運行notebook, 安全隱患太大了! 如果硬要用root, 需要參數--allow-root.
vi ~/.jupyter/jupyter_notebook_config.py
####主要修改如下幾個配置  
##因爲是要遠程訪問,這裏把 IP 設置爲服務器 IP或`0.0.0.0` ,默認是127.0.0.1或localhost, 這樣無法遠程訪問的.  
c.NotebookApp.ip='0.0.0.0'    
##本地訪問目錄, 不設置的話就是啓動命令所在的目錄
c.NotebookApp.notebook_dir = '$HOME/jupyter_data' 
##是否需要自動彈出瀏覽器,服務器端一般不需要
c.NotebookApp.open_browser = False    
##服務的端口,默認8888, 一般爲了安全用別的端口. 
c.NotebookApp.port = 9999
  • 默認沒有登錄密碼,每次啓動服務器後都會產生一個隨機數token,可以使用該token進行登錄到notebook. 配置了密碼後就不用每次使用隨機數token了
  • 如果沒有使用前面的jupyter notebook password, 可以自己生成並設置密碼.
  1. 運行ipython
  2. from notebook.auth import passwd;passwd(), 按提示輸入密碼.
  3. 獲得一個sha1密碼, 如'sha1:abcdefghijklmn1234567890'
  4. 更改配置文件裏的c.NotebookApp.password = '', 將剛纔的sha1密碼輸入進去.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章