LAN中访问其它主机的jupyter/ipython
2016-05-21 18:33
573 查看
笔者使用jupyter的场景是: LAN中的一台Linux主机,跑jupyter,在LAN中通过自己的笔记本用浏览器访问jupyter,笔记本上写代码,主机跑代码。
遇到的问题是:笔记本上通过SSH登录主机,
2 关闭主机的防火墙,无效
3 jupyter版本检查,确保不是老版本(可能存在bug)
4 查看jupyter命令,参考官方文档http://jupyter.readthedocs.io/en/latest/projects/jupyter-command.html,确保命令没用错
5 jupyter配置检查,参考官方文档http://jupyter.readthedocs.io/en/latest/projects/config.html
(1) 生成一份默认配置文件
(2) 查看配置文件
(3) 发现可疑配置
将其改为监听所有IP,并去掉注释使之生效
(4) 再启动jupyter(
奇怪的是这种配置方式jupyter官方的jupyter命令文档并未给出,
经过与jupyter开发团队的交流,得知这些选项都不会单独说明,但可以参考这个文档来利用类似的参数。
所以我们退出SSH,或SSH自己超时关闭后,就不能通过浏览器访问jupyter了。怎么办呢,Linux有一个命令
遇到的问题是:笔记本上通过SSH登录主机,
jupyter notebook启动jupyter后,却无法通过本地浏览器访问主机jupyter。
调试过程
1 本地可以通过SSH/ping访问主机,网络无问题2 关闭主机的防火墙,无效
3 jupyter版本检查,确保不是老版本(可能存在bug)
4 查看jupyter命令,参考官方文档http://jupyter.readthedocs.io/en/latest/projects/jupyter-command.html,确保命令没用错
5 jupyter配置检查,参考官方文档http://jupyter.readthedocs.io/en/latest/projects/config.html
(1) 生成一份默认配置文件
(adog) [root@dog0 bin_yin]# jupyter notebook --generate-config Writing default config to: /root/.jupyter/jupyter_notebook_config.py
(2) 查看配置文件
(adog) [root@dog0 bin_yin]# vim /root/.jupyter/jupyter_notebook_config.py
(3) 发现可疑配置
# The IP address the notebook server will listen on. # c.NotebookApp.ip = 'localhost'
将其改为监听所有IP,并去掉注释使之生效
# The IP address the notebook server will listen on. c.NotebookApp.ip = '*'
(4) 再启动jupyter(
jupyter notebook),就能通过浏览器访问jupyter了
更简单的解决方法
启动jupyter时就通过参数指定jupyter监听LAN内的所有IP。jupyter notebook --ip="*"
奇怪的是这种配置方式jupyter官方的jupyter命令文档并未给出,
jupyter -h的说明里也没有
--ip这个参数。
经过与jupyter开发团队的交流,得知这些选项都不会单独说明,但可以参考这个文档来利用类似的参数。
记住这个jupyter启动命令
我们一般用SSH连接到主机,启动jupyter后,就会退出SSH登录(SSH session超时也会关闭)。SSH session关闭时,会向该SSH控制终端创建的所有进程发送SIGHUP信号(signal hang up),即终止进程。所以我们退出SSH,或SSH自己超时关闭后,就不能通过浏览器访问jupyter了。怎么办呢,Linux有一个命令
nohup,用于声明这个进程不响应SIGHUP信号。所以下面这个jupyter命令,即解决了LAN内跨主机访问的问题,也解决了SSH退出导致jupyter进程终止的问题。
nohup jupyter notebook --ip="*"
相关文章推荐
- python核心编程
- Python图表绘制:matplotlib绘图库入门/python之import机制详解
- 基于正则表达式(python)对东方财富网上证指数吧爬虫实例
- python实现socket上传下载文件-进度条显示
- python实现socket上传下载文件-进度条显示
- python 爬虫抓取19楼租房信息
- Python函数式编程之高阶函数
- python中的if __name__=='__main__'的作用
- Python输出json时中文处理问题
- Python:Python基础(三)
- 结巴中文分词使用学习(python)
- LeetCode Linked List Cycle II
- [从头学python] 第07节 numpy的盘点
- Nagios调用Python程序控制微信公众平台发布报警信息
- Ubuntu14.04 64位+Python3.4环境下安装matplotlib的方法
- [转]python 获取脚本所在目录
- pycon-python 会议
- Python——脚本(calculator)
- python文本分类准备工作-扩展库的安装
- Python-->logging....实例应用