Ubuntu 16.04 VM环境下Jupyter运行正常但浏览器无法访问如何解决
Jupyter Notebook 虚拟机访问故障解决方案
1. 验证服务监听地址配置
Jupyter 默认仅绑定本地回环地址,无法对外提供访问,先在虚拟机内执行命令查看端口监听情况:
ss -tunlp | grep 8888
- 如果输出中监听地址为
127.0.0.1:8888,说明仅支持本地访问,可通过两种方式修改:- 启动时追加参数:
jupyter notebook --ip=0.0.0.0 - 永久修改配置:编辑
~/.jupyter/jupyter_notebook_config.py,修改配置项为c.NotebookApp.ip = '0.0.0.0'
- 启动时追加参数:
2. 排查端口访问限制
2.1 虚拟机内部防火墙
Ubuntu 16.04 默认使用ufw防火墙,执行以下命令放通8888端口:
sudo ufw allow 8888/tcp sudo ufw reload
2.2 上层网络规则
如果使用云服务商虚拟机,需要额外在对应云平台的安全组/网络ACL配置中,放通8888端口的入方向访问规则。
3. 排查域名解析问题
日志中给出的nameofVM是虚拟机主机名,你本地设备可能无法解析该名称,可直接使用虚拟机的IP地址访问:
- 在虚拟机内执行
ifconfig或ip addr获取虚拟机的公网/局域网IP - 在浏览器输入
http://[虚拟机IP]:8888测试访问
- 如果IP可以正常访问,说明是主机名解析问题,可在本地设备的hosts文件中添加
[虚拟机IP] nameofVM映射解决。
4. 验证网络连通性
如果上述配置都正确仍无法访问,在你本地设备执行以下命令验证连通性:
- 测试网络可达:
ping [虚拟机IP] - 测试端口连通:
nc -zv [虚拟机IP] 8888
如果ping不通需要检查虚拟机网络配置、路由规则,如果仅端口不通回到前两步重新核对监听和防火墙配置。
内容的提问来源于stack exchange,提问作者samster
相关产品推荐
相关产品推荐

