从远程服务器运行ipython notebook

时间:2014-06-30 12:33:49

标签: amazon-ec2 ipython-notebook remote-server

我正在尝试从远程服务器运行ipython笔记本(Amazon EC2上的Ubuntu 14.04 64位)。

可以通过ssh隧道访问ipython笔记本,如coderwall blog中所述:

remote$ipython notebook --no-browser --port=8889

local$ssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host

但我无法使用http协议进行简单访问,如official doc或此tutorial

所述

remote$ipython notebook --no-browser --port=8889

并将我的本地浏览器指向http://mypublicip:8889,浏览器在没有任何警告的情况下失败。

2 个答案:

答案 0 :(得分:18)

要解决此问题,我需要:

  1. 运行笔记本电脑服务器监听所有IP地址,添加cli标志 - ip = *

    remote$ipython notebook --no-browser --ip=* --port=8889

  2. 将入站规则添加到amazon ec2实例以侦听端口8889。 +-----------------+----------+------------+-----------+ | Type | Protocol | Port Range | Source | +=================+==========+============+===========+ | Custom TCP Rule | TCP | 8889 | 0.0.0.0/0 | +-----------------+----------+------------+-----------+

  3. 当然现在最好添加身份验证,因为端口正在侦听所有IP地址

答案 1 :(得分:4)

正如Monkpit在下面写的那样,你的shell可能会尝试使用glob *字符。在这种情况下,你应该写--ip=\* - 明确地向localhost添加IP地址也有帮助:

 ipython notebook --no-browser --ip=localhost  --port=7777