教你如何搭建遠(yuǎn)程 Jupyter Notebook ?
前段時(shí)間,你們應(yīng)該感受到了我前幾天在很賣力的帶大家一分錢不花地白領(lǐng)阿里云服務(wù)器,忙活了 10 天左右,我這邊總算是把拿到的名額全用完了,上車的同學(xué)都表示真香,沒上車的同學(xué)也沒辦法了。
那么接下來這幾天,我會(huì)間斷性地分享一篇關(guān)于服務(wù)器的一些玩法,今天呢,轉(zhuǎn)一篇早起同學(xué)的文章:搭建遠(yuǎn)程 Jupyter Notebook ,隨時(shí)隨地進(jìn)行數(shù)據(jù)分析。
進(jìn)行本教程的前提是你已經(jīng)有一臺(tái)云服務(wù)器 。
?修改密碼
購(gòu)買服務(wù)器后,會(huì)自動(dòng)進(jìn)入服務(wù)器控制臺(tái),我們需要按照下圖示例,記住我們的公網(wǎng)ip并修改登陸密碼

?安裝anaconda
首先打開命令行(Windows)或者終端(macOS),輸入下面的代碼,遠(yuǎn)程連接你的服務(wù)器
ssh?root@你的ip?

之后會(huì)讓你輸入剛剛設(shè)置的密碼,按下回車后就成功登陸到我們自己的服務(wù)器!

接下來依次輸入下面四條命令并執(zhí)行,輸入一行執(zhí)行一行,同時(shí)頁(yè)面會(huì)不斷打印很多消息,無視他,假裝自己是個(gè)黑客
yum?update?-y
yum?-y?groupinstall?"Development?tools"
yum?install?openssl-devel?bzip2-devel?expat-devel?gdbm-devel?readline-devel?sqlite-devel
wget?https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh

耐心等待命令全部執(zhí)行完畢之后,我們?cè)賵?zhí)行下方命令安裝anaconda
bash?Anaconda3-2021.05-Linux-x86_64.sh
之后繼續(xù)等待頁(yè)面滾動(dòng),期間可能會(huì)提示你輸入yes或者按下回車,總之一路按照提示進(jìn)行,就像安裝軟件時(shí)一路點(diǎn)擊我同意一樣,直到出現(xiàn)下方結(jié)果提示完成

現(xiàn)在 anaconda 就已經(jīng)安裝完畢了,我們來激活環(huán)境變量!執(zhí)行下面一行代碼即可
source?~/.bashrc
至此,anaconda 就已經(jīng)安裝與激活完畢,我們可以執(zhí)行 python 來驗(yàn)證,如果顯示啟動(dòng)的是python3.8 則證明配置成功,否則就要檢查剛才哪一步有問題哦~

?啟動(dòng)遠(yuǎn)程jupyter notebook
OK,現(xiàn)在我們已經(jīng)在服務(wù)器上配置好Python開發(fā)環(huán)境,這一節(jié)我們要做的就是開啟遠(yuǎn)程Jupyter Notebook,如果上面的步驟成功完成那么下面的步驟將更簡(jiǎn)單。
首先執(zhí)行下面一行命令
jupyter?notebook?--generate-config
執(zhí)行成功后會(huì)生成以下信息,也就是生成了一個(gè)配置文件在顯示的目錄下

接下來輸入 ipython 進(jìn)入 ipython ,依次運(yùn)行下面兩條命令
from?notebook.auth?import?passwd
passwd()
這時(shí)候會(huì)提示你輸入兩次密碼,輸入完畢后會(huì)生成一個(gè)密鑰,一定要復(fù)制粘貼到其他地方備用

之后執(zhí)行exit()退出ipython后執(zhí)行下面一行命令
vim?/root/.jupyter/jupyter_notebook_config.py
按i開始編輯,并修改下面四處設(shè)置
c.NotebookApp.password?=?'剛剛生成的密鑰'
c.NotebookApp.ip='0.0.0.0'
c.NotebookApp.open_browser?=?False
c.NotebookApp.port?=8888

其中第一個(gè)需要替換成你剛剛保存的密鑰,其他的該修改的修改,該取消注釋的取消注釋,大概在100多行,為了方便可以使用/來搜索,比如使用/c.NotebookApp.password來找到第一個(gè)需要修改的位置。修改完畢之后按一下ESC,并輸入:wq按回車退出?,F(xiàn)在只剩下最后一步了,回到命令行執(zhí)行下方代碼
jupyter?notebook?--allow-root
出現(xiàn)這些提示表示開啟成功

現(xiàn)在我們的遠(yuǎn)程notebook就成功啟動(dòng)在服務(wù)器的8888端口,但由于服務(wù)器安全設(shè)置,不是所有設(shè)備都能訪問8888端口,所以還需要回到阿里云控制臺(tái),按照下面示例設(shè)置安全組開放8888端口

設(shè)置完畢后,我們打開任意瀏覽器,輸入你的ip:8888 就能訪問到專屬于我們自己的遠(yuǎn)程notebook!

輸入我們剛剛設(shè)置的密碼后,即可進(jìn)入專屬于你的遠(yuǎn)程notebook,隨時(shí)隨地coding!

之后的操作就不用多說了,按照你平時(shí)操作notebook方法寫代碼就行了,由于我們已經(jīng)安裝了anaconda所以像pandas、requests之類的庫(kù)都自帶了,如果需要額外安裝第三方庫(kù)回到命令行pip安裝即可。
當(dāng)然上面的命令如果現(xiàn)在把命令行關(guān)了就不能再使用遠(yuǎn)程notebook,所以在確認(rèn)可以成功開啟之后結(jié)束剛剛的命令,回到命令行執(zhí)行
nohup?jupyter?notebook?--allow-root?&
即可將命令掛載在后臺(tái)運(yùn)行,關(guān)掉窗口也沒事,現(xiàn)在你可以不借助任何第三方軟件在任何場(chǎng)景、任何一臺(tái)連接到互聯(lián)網(wǎng)的設(shè)備上訪問你的遠(yuǎn)程jupyter notebook并寫代碼。
- EOF -
? 推薦閱讀:
好文章需要您的點(diǎn)贊加在看~
↓↓↓↓
