您的位置:首页 > 其它

阿里云ECS搭建Jupyter Notebook

2017-09-05 10:30 609 查看
前段时间在阿里云上租了个服务器就想着要在服务器上做点什么,正好最近刚学了Linux,想着自己又常写一些python程序,就在阿里云上安装Jupyter notebook,来实现远程访问。这里我的云主机上是Ubuntu系统,其他的Linux系统大同小异,搭建方法仍然适用。

Install Jupyter
安装Anaconda

配置jupyter notebook

Remote connection
打通 SSH Tunnel

配置浏览器的网络连接

访问 Jupyter 服务

总结

Install Jupyter

安装Anaconda

要搭建Jupyter,首先要安装Jupyter。因为Anaconda集成了许多python库,使用方便,所以我打算适用Anaconda中集成的Jupyter,所以下边来安装Anaconda。

根目录下创建一个文件夹用于存放Anaconda安装包
~# mkdir anaconda

进入文件夹
~# cd anaconda

使用wget下载Anaconda安装包(wget轻巧易用且功能强大)
~/anaconda# wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh 
运行安装程序,安装Anaconda
~/anaconda# ./Anaconda3-4.4.0-Linux-x86_64.sh


安装好以后,来测试一下。



如果提示说找不到该文件之类的,是没有配置环境变量的原因。

打开环境变量配置文件
# vi /etc/environment

添加路径到环境变量中
PATH = ":/root/anaconda3/bin"


此处anaconda3文件夹是Anaconda安装好以后的文件所在,路径配置可视具体情况配置。



配置jupyter notebook

生成 jupyter notebook 配置文件
# jupyter notebook --generate-config
我在实际做的时候系统提示要我加上--allow-root,使用命令jupyter notebook --allow-root --generate-config 就可以了




打开 jupyter 配置文件,进行修改.

# vi ~/.jupyter/jupyter_notebook_config.py


c.NotebookApp.ip='*'
c.NotebookApp.password = u'此处填写密码'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
c.NotebookApp.notebook_dir = '/root/py3jupyterproject/'


关于密码,要使用加密的密码。打开ipython,使用函数passwd来生成密文。



把那段密文复制过去即可。

Remote connection

下边来通过端口转发方式访问阿里云ECS上的 Jupyter 服务。

打通 SSH Tunnel

windows环境下,配置本地端口跳转。运行 PuTTY 。

配置 SSH Tunnels 。

填写 Source Port。本示例中为 12345。选择 Dynamic。单击 Add。



配置 Session 。

填写 IP 地址,即 ECS 实例的弹性公网 IP,单击 Open。



在弹出的会话框里输入登录账号和 ECS 实例的登录密码。成功登录到 ECS 实例上。



配置浏览器的网络连接

这里我用的是Google Chrome。运行命令:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server="socks5://localhost:12345" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=d:/tmppath/

其中,
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"是Chrome安装路径
12345是本地端口




访问 Jupyter 服务

在浏览器中输入 Jupyter 服务的访问地址。本示例中为 “内网地址 : 端口号”。即可成功地从外部 SSH 访问到 Jupyter 服务。



内网地址可以在阿里云ECS控制台找到。



端口号可以在服务器管理终端上看到,正是之前设置的端口号8888。



总结

另外,可以看到,终端上的输出信息,第一条警告在告诉我们这个连接没有被加密,不安全。可以点击这个链接“ Running a notebook server ”,这里边有关于“Using SSL for encrypted communication”的教程。此处不再赘述。

本文是使用Anaconda中的Jupyter,这只适用于单用户登录,如果想搭建多用户的Jupyter的话,可以使用JupyterHub进行搭建。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: