GithubHelp home page GithubHelp logo

miracleyoo.github.io's Introduction

Jupyter notebook远程访问服务器配置

1.背景

  一直苦恼于本地机器和服务器上都要配置一些机器学习方面的环境,今天花了点时间研究了下Jupter notebook远程访问服务器,所以记录一下。

  有些步骤非必须,这里尽量写清楚,读者理解后自行决定如何安装,本文以非root用户安装。

2.注意事项

一定要注意检查服务器端的防火墙相应端口有没有打开!!!

位置往往在:

安全->防火墙->添加规则->应用更改

VPC网络->点击已经创建的VPC网络->管理配置->添加规则->应用更改

3.安装步骤

  1. 登录服务器

  2. 检查是否有安装jupyter notebook,终端输入jupyter notebook,如果报错就是无,那么就要用下面命令安装。

    $sudo pip install pyzmq
    $sudo pip install tornado
    $sudo pip install jinja2
    $sudo pip install jsonschema
    $sudo pip install jupyter
    
  3. 生成配置文件

jupyter notebook --generate-config

  1. 生成密码(后续写配置文件、登录Jupyter notebook需要)

jupyter notebook password

或打开python终端

In [1]: from IPython.lib import passwd
In [2]: passwd()
Enter password: 
Verify password: 
Out[2]: 'sha1:0e422dfccef2:84cfbcbb3ef95872fb8e23be3999c123f862d856' 
  1. 修改默认配置文件

vim ~/.jupyter/jupyter_notebook_config.py

进行如下修改(这里可以自行配置):

c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #随便指定一个端口
c.NotebookApp.allow_root = True
c.IPKernelApp.pylab = 'inline'
  1. 启动Jupter notebook

jupyter notebook

  1. 远程访问

此时应该可以直接从本地浏览器直接访问http://address_of_remote:8888就可以看到jupyter的登陆界面。(特别注意:服务器上的Jupyter notebook不要关)

  1. 本地端口转发

ssh转发命令:ssh -L :: 最好是在vim ~/.zshrc 中设置别名如:

alias aihubjn1='ssh -L localhost:9999:localhost:8989 [email protected] -p 2880'

第一步:启动ssh端口转发
ssh -L localhost:9999:localhost:8989 [email protected] -p 2880
第二步:在服务器发起jupyter服务
jupyter notebook --port 8989
第三步:本地开启9999
浏览器访问:http://localhost:9999/

这里root为username,登录ssh的账号,saas.aihub.finalshares.com:2880是老师提供的服务器ssh端口,我使用自己的9999端口监听服务器上的8989端口,信息通过ssh转发,在服务器上启动jupyter即可本地登录,爽的飞起。

  1. 一点小问题

由于笔者之前本地转过jupter notebook,改下端口号登录

jupyter notebook --no-browser --port=8889

3.参考文献

(1)如何在云端服务器运行Jupyter Notebook?

(2)通过SSH远程使用jupyter notebook

(3)远程访问jupyter notebook

miracleyoo.github.io's People

Contributors

miracleyoo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.