姓名:樂仁華 學(xué)號(hào):16140220023
轉(zhuǎn)載自:http://m.blog.csdn.net/Lo_Bamboo/article/details/78601328,有刪改
【嵌牛導(dǎo)讀】:本文主要講解利用云服務(wù)器設(shè)置可遠(yuǎn)程訪問的jupyter notebook
【嵌牛鼻子】:云服務(wù)器,jupyter notebook,遠(yuǎn)程訪問
【嵌牛提問】:在云服務(wù)器上怎么設(shè)置可遠(yuǎn)程訪問的jupyter notebook?
【嵌牛正文】:
這些天在云服務(wù)器上試了一下遠(yuǎn)程訪問的jupyter notebook設(shè)置,整個(gè)過程曲折的有點(diǎn)難受,查了好多教程,才算是搞定了,所以這里寫下來總結(jié)起來。
配置云服務(wù)器的安全組
因?yàn)槲矣玫氖前⒗镌频姆?wù)器,所以就以阿里云的配置來說明。
因?yàn)閺耐饩W(wǎng)訪問服務(wù)器,需要開放一定的端口,所以要對(duì)服務(wù)器的訪問規(guī)則進(jìn)行配置。阿里云是用安全組來管理這些規(guī)則的,所以需要對(duì)安全組進(jìn)行配置。
阿里云為了安全起見,默認(rèn)只開放了22、80等少數(shù)端口。而jupyter notebook默認(rèn)采用8888端口,因此在安全組配置中,需要將此端口開放。
如果一切都正常,就是無法遠(yuǎn)程訪問,有90%的可能性就是安全組規(guī)則配置的問題。
設(shè)置過程:云服務(wù)器管理控制臺(tái)》云服務(wù)器ECS》網(wǎng)絡(luò)和安全》安全組》配置規(guī)則》添加安全組規(guī)則

端口范圍和優(yōu)先級(jí)按圖上的設(shè)定,授權(quán)對(duì)象這個(gè)我是填 0.0.0.0/0 。表示這個(gè)端口開放給所有ip。
Anaconda(清華源)
Anaconda用來管理python的各種庫是很好的,推薦使用。不過Anaconda默認(rèn)源在國外,直接下載慢,所以選擇清華源
sudo wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.0.1-Linux-x86_64.sh
執(zhí)行安裝過程
sudo bash Anaconda3-5.0.1-Linux-x86_64.sh
提示你,是否閱讀協(xié)議,回車接受
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
是否接受協(xié)議,yes
Do you accept the license terms? [yes|no]
安裝位置確認(rèn),回車
Anaconda3 will now be installed into this location:
/home/bamboo/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
提示你如果要讓bashrc起作用,要打開一個(gè)新的終端。但測試不起作用。
For this change to become active, you have to open a new terminal.
于是,我就直接配置環(huán)境變量
sudo vim /etc/environment
把自己的安裝目錄添加到后面
:/home/bamboo/anaconda3/bin
立即激活環(huán)境變量
source /etc/environment
測試是否安裝成功
conda --version
如果安裝成功,會(huì)顯示出當(dāng)前conda的版本
conda 4.3.30
添加Anaconda的TUNA鏡像
conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
設(shè)置搜索時(shí)顯示通道地址
conda config --set show_channel_urls yes
創(chuàng)建jupyter notebook運(yùn)行環(huán)境,可以方便管理各類庫
conda create -n jupyter_notebook python=3
激活環(huán)境
source activate jupyter_notebook
安裝深度學(xué)習(xí)所需要的所有庫
如果要退出環(huán)境的話,執(zhí)行:
source deactivate#暫時(shí)不執(zhí)行
安裝jupyter notebook
安裝jupyter notebook (這個(gè)過程是接著激活環(huán)境后的)
conda install jupyter notebook
測試
jupyter notebook --ip=127.0.0.1
終端輸出正常即可

配置jupyter notebook遠(yuǎn)程訪問
默認(rèn)jupyter notebook 是不需要配置文件的。因此,需要用以下命令生成該文件。
主要配置一下內(nèi)容:
- 設(shè)置遠(yuǎn)程訪問密碼
- 設(shè)置可訪問ip,全局訪問
- 禁用服務(wù)器端啟動(dòng)瀏覽器
jupyter notebook --generate-config
生成文件后,文件在該目錄下
Writing default config to: /home/bamboo/.jupyter/jupyter_notebook_config.py
打開jupyter_notebook_config.py文件
vim /home/bamboo/.jupyter/jupyter_notebook_config.py
設(shè)置可以訪問服務(wù)器的ip
c.NotebookApp.ip = '*'
notes:很多教程把該ip設(shè)置為127.0.0.1,這樣你只能在本地訪問,遠(yuǎn)程是無法訪問的。這是大坑中很大的一個(gè)。
同時(shí)這里還有個(gè)需要注意的,上面 '*' 表示的是可以接收所有ip的客戶端訪問,詳細(xì)可以看這個(gè)博客
還有你會(huì)看到每行有個(gè)#,要記得把需要改的設(shè)置前面的#號(hào)去掉
打開ipython
ipython
調(diào)用passwd()函數(shù)生成密匙,把密匙復(fù)制下來,后面會(huì)有用
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:8361f5f08937:081cdf40730cb5548e2c213ddd36813a5313192f'
這個(gè)密匙會(huì)是不一樣的
加入上面生成的密匙
c.NotebookApp.ip = '*'
c.NotebookApp.password = 'sha1:8361f5f08937:081cdf40730cb5548e2c213ddd36813a5313192f'
設(shè)置不在服務(wù)器端自動(dòng)打開瀏覽器
c.NotebookApp.ip = '*'
c.NotebookApp.password = 'sha1:8361f5f08937:081cdf40730cb5548e2c213ddd36813a5313192f'
c.NotebookApp.open_browser = False
到目前位置所有遠(yuǎn)程的配置的所有工作已經(jīng)全部完成。趕快啟動(dòng)一下jupyter notebook是不是可以訪問。
jupyter notebook
終端開始輸出: 
然后在自己電腦瀏覽器網(wǎng)址里輸入
云服務(wù)器公網(wǎng)ip:8888

進(jìn)去后界面一樣
