美文网首页嵌牛IT观察
如何在云服务器上设置可远端访问的jupyter notebook

如何在云服务器上设置可远端访问的jupyter notebook

作者: 小乐杂货铺 | 来源:发表于2017-12-09 21:52 被阅读0次

    姓名:乐仁华 学号:16140220023
    转载自:http://m.blog.csdn.net/Lo_Bamboo/article/details/78601328,有删改

    【嵌牛导读】:本文主要讲解利用云服务器设置可远程访问的jupyter notebook
    【嵌牛鼻子】:云服务器,jupyter notebook,远程访问
    【嵌牛提问】:在云服务器上怎么设置可远程访问的jupyter notebook?
    【嵌牛正文】:

    这些天在云服务器上试了一下远程访问的jupyter notebook设置,整个过程曲折的有点难受,查了好多教程,才算是搞定了,所以这里写下来总结起来。

    配置云服务器的安全组

    因为我用的是阿里云的服务器,所以就以阿里云的配置来说明。
    因为从外网访问服务器,需要开放一定的端口,所以要对服务器的访问规则进行配置。阿里云是用安全组来管理这些规则的,所以需要对安全组进行配置。

    阿里云为了安全起见,默认只开放了22、80等少数端口。而jupyter notebook默认采用8888端口,因此在安全组配置中,需要将此端口开放。
    如果一切都正常,就是无法远程访问,有90%的可能性就是安全组规则配置的问题。

    设置过程:云服务器管理控制台》云服务器ECS》网络和安全》安全组》配置规则》添加安全组规则

    端口范围和优先级按图上的设定,授权对象这个我是填 0.0.0.0/0 。表示这个端口开放给所有ip。

    Anaconda(清华源)

    Anaconda用来管理python的各种库是很好的,推荐使用。不过Anaconda默认源在国外,直接下载慢,所以选择清华源

    sudo wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.0.1-Linux-x86_64.sh
    

    执行安装过程

    sudo bash Anaconda3-5.0.1-Linux-x86_64.sh
    

    提示你,是否阅读协议,回车接受

    In order to continue the installation process, please review the license
    agreement.
    Please, press ENTER to continue
    

    是否接受协议,yes

    Do you accept the license terms? [yes|no]
    

    安装位置确认,回车

    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起作用,要打开一个新的终端。但测试不起作用。

    For this change to become active, you have to open a new terminal.
    

    于是,我就直接配置环境变量

    sudo vim /etc/environment
    

    把自己的安装目录添加到后面

    :/home/bamboo/anaconda3/bin
    

    立即激活环境变量

    source /etc/environment
    

    测试是否安装成功

    conda --version
    

    如果安装成功,会显示出当前conda的版本

    conda 4.3.30
    

    添加Anaconda的TUNA镜像

    conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
    

    设置搜索时显示通道地址

    conda config --set show_channel_urls yes
    

    创建jupyter notebook运行环境,可以方便管理各类库

    conda create -n jupyter_notebook python=3
    

    激活环境

    source activate jupyter_notebook
    

    安装深度学习所需要的所有库

    如果要退出环境的话,执行:

    source deactivate#暂时不执行
    

    安装jupyter notebook

    安装jupyter notebook (这个过程是接着激活环境后的)

    conda install jupyter notebook
    

    测试

    jupyter notebook --ip=127.0.0.1
    

    终端输出正常即可


    配置jupyter notebook远程访问

    默认jupyter notebook 是不需要配置文件的。因此,需要用以下命令生成该文件。
    主要配置一下内容:

    • 设置远程访问密码
    • 设置可访问ip,全局访问
    • 禁用服务器端启动浏览器
    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
    

    设置可以访问服务器的ip

    c.NotebookApp.ip = '*'
    

    notes:很多教程把该ip设置为127.0.0.1,这样你只能在本地访问,远程是无法访问的。这是大坑中很大的一个。
    同时这里还有个需要注意的,上面 '*' 表示的是可以接收所有ip的客户端访问,详细可以看这个博客
    还有你会看到每行有个#,要记得把需要改的设置前面的#号去掉

    打开ipython

    ipython
    

    调用passwd()函数生成密匙,把密匙复制下来,后面会有用

    In [1]: from notebook.auth import passwd
    In [2]: passwd()
    Enter password: 
    Verify password: 
    Out[2]: 'sha1:8361f5f08937:081cdf40730cb5548e2c213ddd36813a5313192f'
    

    这个密匙会是不一样的

    加入上面生成的密匙

    c.NotebookApp.ip = '*'
    c.NotebookApp.password = 'sha1:8361f5f08937:081cdf40730cb5548e2c213ddd36813a5313192f'
    

    设置不在服务器端自动打开浏览器

    c.NotebookApp.ip = '*'
    c.NotebookApp.password = 'sha1:8361f5f08937:081cdf40730cb5548e2c213ddd36813a5313192f'
    c.NotebookApp.open_browser = False
    

    到目前位置所有远程的配置的所有工作已经全部完成。赶快启动一下jupyter notebook是不是可以访问。

    jupyter notebook
    
    终端开始输出:

    然后在自己电脑浏览器网址里输入

    云服务器公网ip:8888
    

    进去后界面一样


    相关文章

      网友评论

        本文标题:如何在云服务器上设置可远端访问的jupyter notebook

        本文链接:https://www.haomeiwen.com/subject/qdvpixtx.html