Web网页浏览器远程访问jupyter notebook服务器【内网穿透】

本文涉及的产品
.cn 域名,1个 12个月
简介: Web网页浏览器远程访问jupyter notebook服务器【内网穿透】

前言

Jupyter Notebook,它是一个交互式的数据科学和计算环境,支持多种编程语言,如Python、R、Julia等。它在数据科学、机器学习、深度学习、教育和文档编写等领域都有很广泛的应用。

重要的是,Jupyter Notebook可以在Web浏览器中使用,所以我们可以在服务器端开启服务,在外通过网页远程访问运行代码进行数据分析,拥有一个可以随时随地使用的科学计算环境,而无需在本地安装配置Python环境。

1. Python环境安装

在windows安装python环境

https://www.python.org/downloads/windows/

2. Jupyter 安装

打开cmd命令行,输入:

pip install jupyter

3. 启动Jupyter Notebook

Jupyter Notebook是一个开源的web应用程序,可以使用它来创建和共享包含实时代码、方程、可视化和文本的文档。同时也是IPython项目的一个派生项目,IPython项目本身曾经有一个IPython Notebook项目。后来从中拆分出去,叫做Jupyter Notebook。

启动Jupyter Notebook

jupyter notebook

启动后会自动跳转到浏览器打开界面,如没有跳转,输入窗口出现的ip地址即可

4. 远程访问

这里我们使用cpolar来进行内网穿透,支持http/https/tcp协议,不限制流量,无需公网IP,也不用设置路由器,使用简单。

4.1 安装配置cpolar内网穿透

cpolar官网:https://www.cpolar.com/

访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
  • linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南

4.2 创建隧道映射本地端口

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录。

点击左侧仪表盘的隧道管理——创建隧道,创建一个8888端口 http隧道,因为jupyter notebook默认是8888端口

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8888
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,然后复制地址

打开浏览器器,我们使用上面公网地址进行连接,会出现以下问题,这个问题是jupyter notebook限制ip访问

解决方法:

先关闭cmd运行窗口,打开一个新的窗口,执行以下命令,生成一个配置文件,注意记住配置文件路径

jupyter notebook --generate-config

设置访问密码

jupyter notebook password

进入上面的json文件路径,打开jupyter_notebook_config.json配置文件,复制密文

然后打开上面jupyter_notebook_config.py配置文件,添加以下参数,添加后保存

c.NotebookApp.ip='*' #允许访问的IP地址,设置为*代表允许任何客户端访问
c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$QcZlyMBu9icwhDDiUl+lZw$y4EP3WI4gZjc'#刚才生成密码时上面复制的密文
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #可自行指定一个端口, 访问时使用该端口
c.NotebookApp.allow_remote_access = True

然后cmd再次启动

打开浏览器器,我们再次使用上面公网地址进行连接,出现密码,输入上面设置的密码登录即可

5. 固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

保留一个二级子域名

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留的二级子域名地址

访问http://127.0.0.1:9200/,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的8888隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留过的二级子域名名称,将其复制下来

然后使用固定http地址打开浏览器访问,登录成功,访问成功

相关文章
|
3月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
4月前
|
网络协议 前端开发 JavaScript
浏览器加载网页的幕后之旅:从URL到页面展示详解
【8月更文挑战第31天】当在浏览器地址栏输入URL并回车后,一系列复杂过程随即启动,包括DNS解析、TCP连接建立、HTTP请求发送、服务器请求处理及响应返回,最后是浏览器页面渲染。这一流程涉及网络通信、服务器处理和客户端渲染等多个环节。通过示例代码,本文详细解释了每个步骤,帮助读者深入理解Web应用程序的工作机制,从而在开发过程中作出更优决策。
67 5
|
4月前
|
存储 Ubuntu 搜索推荐
构建多用户的 Jupyter 服务器 —— 利用 JupyterHub
【8月更文第29天】**摘要** JupyterHub 是一个易于使用的、可伸缩的、多用户的 Jupyter Notebook 服务器。它允许您在一个集中式服务器上托管多个独立的 Jupyter Notebook 会话,非常适合团队协作和教学环境。本文将详细介绍如何安装和配置 JupyterHub,以及如何利用它来构建一个多用户 Jupyter 服务器环境。
1091 0
|
4月前
|
存储 JavaScript
纯Vue实现网页日常任务清单小功能(数据存储在浏览器)
这篇文章介绍了如何使用纯Vue实现一个网页日常任务清单的小功能,数据存储在浏览器中以保持数据持久化。文章内容包括功能描述、效果演示、核心代码修改方法,以及已经打包好的项目源码下载链接。作者还提供了友情提示,指出了数据存储到浏览器的核心代码部分,方便读者快速理解和应用。
|
5月前
|
SQL 关系型数据库 MySQL
|
4月前
|
网络安全 数据安全/隐私保护 iOS开发
【Mac os】如何在服务器上启动Jupyter notebook并在本地浏览器Web端环境编辑程序
本文介绍了如何在服务器上启动Jupyter Notebook并通过SSH隧道在本地浏览器中访问和编辑程序的详细步骤,包括服务器端Jupyter的启动命令、本地终端的SSH隧道建立方法以及在浏览器中访问Jupyter Notebook的流程。
177 0
|
5月前
|
缓存 弹性计算 应用服务中间件
阿里云服务器部署Jupyter私房菜
在阿里云ECS上,选用2核2G的配置,安装Ubuntu 22.04,然后部署Nginx作为Jupyter Notebook的反向代理。安装Miniconda3,配置清华TUNA镜像源以加速下载。创建Jupyter Notebook,设置密码和远程访问,通过Nginx配置实现安全访问。整个过程包括安装Jupyter,修改Nginx配置,最后通过浏览器访问 Notebook。
420 0
阿里云服务器部署Jupyter私房菜
|
6月前
|
Shell
5.Electron之shell(使用系统默认浏览器打开网页)
5.Electron之shell(使用系统默认浏览器打开网页)
101 1
|
6月前
|
JavaScript 前端开发
WebView2 控件(基于 Microsoft Edge (Chromium) 的嵌入式浏览器控件),获取网页加载后的标题
在使用 WebView2 控件(基于 Microsoft Edge (Chromium) 的嵌入式浏览器控件)时,要获取网页加载后的标题,可以监听 WebView2 的 NavigationCompleted 事件。这个事件被触发时,表示导航已完成,此时执行JavaScript代码可以安全地获取网页的标题。
WebView2 控件(基于 Microsoft Edge (Chromium) 的嵌入式浏览器控件),获取网页加载后的标题
|
6月前
|
JavaScript
Vue - 超强实现网页禁止浏览器缩放功能
Vue - 超强实现网页禁止浏览器缩放功能