搭建 Jupyter Notebook 伺服器

2021-08-02 18:57:20 字數 2328 閱讀 8473

原材料:

- linux 伺服器;

- 已配置好的 python 環境,且已經安裝jupyteripykernel等必需的包。推薦使用 anaconda。

開啟 ipython,輸入

from notebook.auth import passwd

passwd()

程式會要求輸入密碼並確認,隨後會輸出此密碼對應的 hash(格式為'type:salt:hashed-password'),比如'sha1:9305015210b4:32cad364c85e7f7a13b9efa137cfadf633cc62de'。記下此 hash 字串,隨後會用到。

檢視使用者目錄~/.jupyter路徑下是否存在jupyter_notebook_config.py檔案。若不存在,使用

jupyter

notebook--

generate

-config

產生此檔案。編輯此檔案,寫入

# 允許訪問此伺服器的 ip,星號表示任意 ip

# 之前生成的密碼 hash 字串

# 執行時不開啟本機瀏覽器

# 使用的埠

# 啟用 mathjax

然後在某個路徑下執行

jupyter notebook
即可啟動 jupyter notebook,執行命令的路徑成為 jupyter notebook 的預設根路徑,使用http://ip:port的方式即可使用。

這裡我們使用 nginx 作為伺服器程式。按照上面的方法配置 jupyter notebook,如果僅僅對埠號進行****,會出現 terminal 可以正常建立而 notebook 無法建立的情況。這是因為 jupyter 會對 http 請求進行判斷,所以反向**時需要設定正確的資訊。正確配置 nginx 反向**的方式如下:

server 

}

使用 ssl 的好處是顯而易見的,尤其是在目前免費的 ssl 證書沒有任何申請門檻的情況下,幾乎沒有理由不為自己的站點實現全面的 https 化。給伺服器端的 jupyter notebook 啟用 ssl 的方法是,在~/.jupyter/jupyter_notebook_config.py檔案中增加兩行

# ssl 證書檔案的路徑

# ssl 金鑰檔案的路徑

同時,如果配置了網域名稱,則 nginx 配置也應該增加 443 埠的監聽

html>將 jupyter notebook 設定為系統服務並且開機自動啟動,這裡以systemd下的設定為例,建立檔案/etc/systemd/system/jupyter.service檔案,內容是

[unit]

description=jupyter notebook

after=network.target

[service]

type=******

pidfile=/path/to/your/jupyter.pid

execstart=/path/to/your/jupyter-notebook --config=/home/your_username/.jupyter/jupyter_notebook_config.py

user=your_username

group=your_group

workingdirectory=/path/to/your/notebook/working_directory/

restart=always

restartsec=10

[install]

wantedby=multi-user.target

儲存檔案之後執行

systemctl enable jupyter
來使此服務自啟動。此外還需要在~/.jupyter/jupyter_notebook_config.py檔案中設定 jupyter notebook 執行時預設的根目錄

# 執行時預設的根目錄

遠端訪問伺服器jupyter notebook

在工作環境用的是windows xp系統,上面安裝anaconda只能安裝到 python3.4,有很多模組用起來很不方便,正好自己的筆記本是mac,想將mac上的notebook 做成乙個伺服器,用工作電腦window 的瀏覽器來訪問這個伺服器.參考 按上面方法做,但有乙個坑 u sha1 67c...

vs mysql搭建 VS mysql EF搭建

ado.net實體資料模型預設是不支援mysql資料庫的,本文件將介紹如何讓vs ado.net實體資料模型支援mysql。2.安裝mysql,勾選裡面的for visual studio外掛程式,版本不能錯 mysql connector net x86 mysql for visualstudi...

linux搭建lnnp linux搭建lnmp環境

php7.3.5 nginx1.16 mysql8 1 準備 新建目錄,lnmp php7 lnmp nginx mkdir p lnmp php7 mkdir lnmp nginx 安裝依賴 yum install gcc gcc c automake pcre pcre devel zlip z...