如果想同过一个Web浏览器的方式远程访问服务器上的ipython notebook sever,可通过下面的步骤实现。

服务器:ubuntu14.04 server

客户端:windows/unix/linux均可+浏览器

  1. 创建certificate 文件 和 hash密码

    In [1]: from IPython.lib import passwd
    In [2]: passwd()
    Enter password:
    Verify password:
    Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
  2. 使用openssl创建一个自签名证书,由于是自签名所以浏览器会提示警告,选择信任exception即可。如果不想引起警告,需具备合格证compliant certificate,可参照tutorial
    $ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

    此处需要注意到的是记住你生成的证书mycert.pem的路径,另外,由于你启用了ssl支持,所以在访问notebook server时需要用https://而非http:// 

  3. 通过ssl使得你通过浏览器发送的密码是加密的,你可以在安全协议模式下使用自签名的认证来启用notebook
    $ ipython notebook --certfile=mycert.pem
  4. 为notebook定制一个配置文件,此配置是基于用户而非全局的。命令执行后会提示生成的文件和位置
    $ ipython profile create nbserver
  5. 修改刚才create nbserver时生成的ipython_notebook_config.py文件
    #,默认情况下ipython_notebook_config.py位于~/.ipython/profile_nbserver/目录下
    
    c = get_config()
    
    # Kernel config
    c.IPKernelApp.pylab = 'inline' # 使用pyplot绘制功能 # Notebook config
    c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
    c.NotebookApp.ip = '*'
    c.NotebookApp.open_browser = False
    c.NotebookApp.password = u'sha1:bcd259ccf...[之前生成的hash密码]'
    # It is a good idea to put it on a known, fixed port
    c.NotebookApp.port = 8035 #选择一个端口
  6. 最后在远程服务器键入命令
    ipython notebook --profile=nbserver

    之后便可在本地机器上使用Web浏览器访问notebook了

    https://[IP or your.host.com]:8035

    (此处比较诡异的是需要加一位才对(https://[IP or your.host.com]:8036),后来才发现,8035已经被一个程序占用了,ipython会另选一个端口号使用)

安装特定版本的Package请使用

pip install ipython==2.3.0

小记:ipython版本若是为4.0会出错,因为4.0版本为开发版,使用上面命令ipython profile create nbserver时不会创建ipython_notebook_config.py(坑。。。),最后终于在http://r97846001.blog.ntu.edu.tw/2015/07/09/ipython-importerror-no-module-named-jupyter_notebook-notebookapp/发现是版本的问题,所以需要安装适用的版本,但是!!!不需要按照他说的下载源文件或release安装的。。。,之前使用了pip install ipython=2.3.0发现不行,故狂搜乱找以为是其他问题,最后发现原来要用双等号啊~泪。。。http://nu-no.nl/ipython-server-cant-launch-no-module-named-notebook-notebookapp/,正所谓,“山重水复疑无路,柳暗花明又一村”,写次小记,特此纪念。

通过web远程访问服务器的ipython的更多相关文章

  1. 服务器(Ubuntu)远程访问ipython notebook(服务器运行ipython notebook 本地浏览器访问)

    准备工作 首先要安装 ipython 推荐直接 Anaconda 搞起(装在服务器). Anaconda 帮你集成N多python相关环境(包),省得你再手动咔咔一顿安装 服务器启动ipython n ...

  2. 在windows上远程访问服务器jupyter notebook

    需求: 之前在服务器上只能运行完整的python文件,而不能实现jupyter notebook的交互模式,通过在本地浏览器上远程访问服务器上的jupyter notebook,这样不就能有一个很棒的 ...

  3. Nodejs实现web静态服务器对多媒体文件的支持

    前几天,一个同事说他写的web静态服务器不支持音视频的播放,现简单实现一下. 原理:实现http1.1协议的range部分. 其实这一点都不神秘,我们常用的下载工具,如迅雷,下载很快,还支持断点续传, ...

  4. [置顶] java web 动态服务器

    写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...

  5. web server服务器

    使用最多的 web server服务器软件有两个:微软的信息服务器(iis),和Apache. 通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序 ...

  6. express搭建简易web的服务器

    express搭建简易web的服务器 说到express我们就会想到nodejs,应为它是一款基于nodejs平台的web应用开发框架.既然它是基于nodejs平台的框架那么就得先安装nodejs. ...

  7. office web apps 部署-搭建office web apps服务器

    二.搭建office web apps服务器 相关文件可以去焰尾迭分享的百度网盘下载,下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%252 ...

  8. 5.Nginx作为web缓存服务器

    Nginx作为web缓存服务器 从0.7.48版本开始,Nginx支持类似Squid的缓存功能.Nginx的web缓存服务主要由proxy_cache相关命令集合fastcgi_cache相关命令集构 ...

  9. WEB站点服务器安全配置

    WEB站点服务器安全配置   本文转自:i春秋社区   // 概述 // 熟悉网站程序 // 更改默认设置的必要性 // 目录分析与权限设置技巧 // 防止攻击其他要素 // 公司官网不可忽视的安全性 ...

随机推荐

  1. SQL 语句整理

    1.       /*  SQL CASE 语句写法 * SELECT TABLE1.USER_ID, TABLE1.COMP_CODE, TABLE1.DEPT_CODE, TABLE1.USER_ ...

  2. Java 获取 文件md5校验码

    讯雷下载的核心思想是校验文件的md5值,两个文件若md5相同则为同一文件. 当得到用户下载某个文件的请求后它根据数据库中保留的文件md5比对出拥有此文件的url, 将用户请求挂接到此url上并仿造一个 ...

  3. 使用meaven打包过程中遇到的一些问题

    开始使用如下代码进行打包 <build> <!-- mvn assembly:assembly -Dmaven.test.skip=true --> <plugins&g ...

  4. [STL源码剖析]RB-tree的插入操作

    RB-tree的性质 对于RB-tree,首先做一个了解,先看一张维基百科的RB-tree: 再看RB-tree的性质: 性质1. 节点是红色或黑色. 性质2. 根是黑色,所有叶子都是黑色(叶子节点指 ...

  5. jQuery 源码分析和使用心得 - 序

    众所周知, jQuery (个人简称为jq) 在前端开发中占有着非常重要的地位, 可以说jQuery的存在大大降低了学习网页设计和交互的门槛, 他的简单的语法和顺畅的使用逻辑激发了人们强烈的学习兴趣, ...

  6. 航频卫士APP截图

  7. jquery学习(3)--高级选择器

    自己手写的学习笔记.常规选择器: /****************学习--高级选择器(1)****************/---高级选择器:ie7+ 层次选择器: 后代选择器     ul li ...

  8. APサーバ

    GlassFish GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发.部署和重新分发. 简介 GlassFish 是用于构建 Java EE 5应用服务器的开源开发项 ...

  9. Octopress创建GitHub Pages——基于代码托管的静态博客

    Github Pages是静态网页来的,官方也半认可了它的博客用途,代码挂在github上,随时都可以更改,算是不错的一种尝试,因为它是静态的,所以在表现上会自由得多,但是,同样因为它是静态的,管理上 ...

  10. CreateFileMapping共享内存时添加Global的作用

    来源:http://www.cnblogs.com/elvislogs/articles/ShareMemory.html 通常使用CreateFileMapping建立共享内存时名称中没有加入&qu ...