通过web远程访问服务器的ipython
如果想同过一个Web浏览器的方式远程访问服务器上的ipython notebook sever,可通过下面的步骤实现。
服务器:ubuntu14.04 server
客户端:windows/unix/linux均可+浏览器
- 创建certificate 文件 和 hash密码
In [1]: from IPython.lib import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed' - 使用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://
- 通过ssl使得你通过浏览器发送的密码是加密的,你可以在安全协议模式下使用自签名的认证来启用notebook
$ ipython notebook --certfile=mycert.pem
- 为notebook定制一个配置文件,此配置是基于用户而非全局的。命令执行后会提示生成的文件和位置。
$ ipython profile create nbserver
- 修改刚才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 #选择一个端口 - 最后在远程服务器键入命令
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的更多相关文章
- 服务器(Ubuntu)远程访问ipython notebook(服务器运行ipython notebook 本地浏览器访问)
准备工作 首先要安装 ipython 推荐直接 Anaconda 搞起(装在服务器). Anaconda 帮你集成N多python相关环境(包),省得你再手动咔咔一顿安装 服务器启动ipython n ...
- 在windows上远程访问服务器jupyter notebook
需求: 之前在服务器上只能运行完整的python文件,而不能实现jupyter notebook的交互模式,通过在本地浏览器上远程访问服务器上的jupyter notebook,这样不就能有一个很棒的 ...
- Nodejs实现web静态服务器对多媒体文件的支持
前几天,一个同事说他写的web静态服务器不支持音视频的播放,现简单实现一下. 原理:实现http1.1协议的range部分. 其实这一点都不神秘,我们常用的下载工具,如迅雷,下载很快,还支持断点续传, ...
- [置顶] java web 动态服务器
写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...
- web server服务器
使用最多的 web server服务器软件有两个:微软的信息服务器(iis),和Apache. 通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序 ...
- express搭建简易web的服务器
express搭建简易web的服务器 说到express我们就会想到nodejs,应为它是一款基于nodejs平台的web应用开发框架.既然它是基于nodejs平台的框架那么就得先安装nodejs. ...
- office web apps 部署-搭建office web apps服务器
二.搭建office web apps服务器 相关文件可以去焰尾迭分享的百度网盘下载,下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%252 ...
- 5.Nginx作为web缓存服务器
Nginx作为web缓存服务器 从0.7.48版本开始,Nginx支持类似Squid的缓存功能.Nginx的web缓存服务主要由proxy_cache相关命令集合fastcgi_cache相关命令集构 ...
- WEB站点服务器安全配置
WEB站点服务器安全配置 本文转自:i春秋社区 // 概述 // 熟悉网站程序 // 更改默认设置的必要性 // 目录分析与权限设置技巧 // 防止攻击其他要素 // 公司官网不可忽视的安全性 ...
随机推荐
- SQL 语句整理
1. /* SQL CASE 语句写法 * SELECT TABLE1.USER_ID, TABLE1.COMP_CODE, TABLE1.DEPT_CODE, TABLE1.USER_ ...
- Java 获取 文件md5校验码
讯雷下载的核心思想是校验文件的md5值,两个文件若md5相同则为同一文件. 当得到用户下载某个文件的请求后它根据数据库中保留的文件md5比对出拥有此文件的url, 将用户请求挂接到此url上并仿造一个 ...
- 使用meaven打包过程中遇到的一些问题
开始使用如下代码进行打包 <build> <!-- mvn assembly:assembly -Dmaven.test.skip=true --> <plugins&g ...
- [STL源码剖析]RB-tree的插入操作
RB-tree的性质 对于RB-tree,首先做一个了解,先看一张维基百科的RB-tree: 再看RB-tree的性质: 性质1. 节点是红色或黑色. 性质2. 根是黑色,所有叶子都是黑色(叶子节点指 ...
- jQuery 源码分析和使用心得 - 序
众所周知, jQuery (个人简称为jq) 在前端开发中占有着非常重要的地位, 可以说jQuery的存在大大降低了学习网页设计和交互的门槛, 他的简单的语法和顺畅的使用逻辑激发了人们强烈的学习兴趣, ...
- 航频卫士APP截图
- jquery学习(3)--高级选择器
自己手写的学习笔记.常规选择器: /****************学习--高级选择器(1)****************/---高级选择器:ie7+ 层次选择器: 后代选择器 ul li ...
- APサーバ
GlassFish GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发.部署和重新分发. 简介 GlassFish 是用于构建 Java EE 5应用服务器的开源开发项 ...
- Octopress创建GitHub Pages——基于代码托管的静态博客
Github Pages是静态网页来的,官方也半认可了它的博客用途,代码挂在github上,随时都可以更改,算是不错的一种尝试,因为它是静态的,所以在表现上会自由得多,但是,同样因为它是静态的,管理上 ...
- CreateFileMapping共享内存时添加Global的作用
来源:http://www.cnblogs.com/elvislogs/articles/ShareMemory.html 通常使用CreateFileMapping建立共享内存时名称中没有加入&qu ...