公网远程访问本地jupyter notebook服务 - 内网穿透

在这里插入图片描述

文章目录

  • 前言
  • 视频教程
  • 1. Python环境安装
  • 2. Jupyter 安装
  • 3. 启动Jupyter Notebook
  • 4. 远程访问
    • 4.1 安装配置cpolar内网穿透
    • 4.2 创建隧道映射本地端口
  • 5. 固定公网地址

转载自cpolar的文章:公网远程访问Jupyter Notebook【Cpolar内网穿透】

前言

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

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

视频教程

【远程Jupyter Notebook】在外web远程连接Jupyter进行数据分析

1. Python环境安装

在windows安装python环境

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

image-20230223134015977

2. Jupyter 安装

打开cmd命令行,输入:

pip install jupyter

image-20230223154418341

3. 启动Jupyter Notebook

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

启动Jupyter Notebook

jupyter notebook

image-20230223155413053

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

image-20230223155527691

4. 远程访问

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

4.1 安装配置cpolar内网穿透

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

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

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

20230130105715

4.2 创建隧道映射本地端口

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

20230130105810

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

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

点击创建

image-20230223162138325

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

image-20230223162622583

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

image-20230223164122217

解决方法:

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

jupyter notebook --generate-config

image-20230223165229828

设置访问密码

jupyter notebook password

image-20230223171005798

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

image-20230223171135988

然后打开上面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

image-20230223172907811

然后cmd再次启动

image-20230223173219974

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

image-20230223173324383

5. 固定公网地址

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

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

保留一个二级子域名

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

image-20230223173929959

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

image-20230223174355899

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

image-20230223174657488

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

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

点击更新

image-20230223174932054

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

image-20230223175119849

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

image-20230223175542675

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/23231.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

最优化方法Python计算:一元函数搜索算法——牛顿法

设函数 f ( x ) f(x) f(x),在 [ a , b ] [a,b] [a,b]上二阶连续可微且有唯一的最小值点 x 0 x_0 x0​。由于 f ( x ) f(x) f(x)是 [ a , b ] [a,b] [a,b]上的单峰函数,故 f ′ ′ ( x ) > 0 f(x)>0 f′′(x)>0, x ∈ ( a , b ) x\in…

MyBatis快速入门

目录 一、什么是MyBatis 二、MyBatis的学习要领 三、搭建第一个MyBatis 3.1 创建数据库和表 3.2 添加MyBatis框架支持 3.2.1 老项目添加MyBatis 3.2.2 新项目去添加MyBatis 3.3 设置MyBatis配置信息 3.3.1 设置数据库连接的相关信息 3.3.2 设置MyBatis xml保存路径 和…

vue-cli4+vant+rem+sass+vuex+axios封装+webpack搭建前端项目

移动端项目模板 基于 vue-cli4.0 webpack 4 vant ui sass rem 适配方案axios 封装,构建手机端模板脚手架 启动项目 git clone https://github.com/teach-tian/h5-vue-cli4.gitcd h5-vue-cli4npm installnpm run serve✅ 配置多环境变量 package.json 里的 s…

SpringBoot【开发实用篇】---- 整合第三方技术(监控)

SpringBoot【开发实用篇】---- 整合第三方技术(监控) 1. 监控的意义2. 可视化监控平台3. 监控原理 在说监控之前,需要回顾一下软件业的发展史。最早的软件完成一些非常简单的功能,代码不多,错误也少。随着软件功能的逐…

Linux基于Apache服务搭建简易镜像站

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Linux基于Apache服务搭建简易镜像站 安装Apache服务器 yum install -y httpd.x86_64 配置Apache服务器:编辑Apache配置文件/etc/httpd/conf/httpd.conf #S…

ospf的rip和ospf互通以及配置stub区域和totally stub

1. ospf与rip如何互通 我们需要在两台路由器上互相引入,如上图 AR5和AR6运行了rip,但AR5也运行了ospf要想路由器能够互相学习到路由,就需要在AR5上配置路由协议引入 什么是stub区域如何配置stub区域 Stub区域的功能:过滤4类LSA和5类LSA,对外产生缺省的…

Unity之使用Photon Server + PUN2 开发局域网多人游戏

一.前言 Photon Engine是一款跨平台的实时多人游戏引擎,它提供了可靠的基础设施和工具,使开发者能够轻松地构建和部署多人游戏。Photon Engine支持多种平台,包括PC、移动设备和Web,同时还提供了多种语言的SDK,如C++、C#、Java、JavaScript等,使得开发者可以使用自己熟悉…

宁德时代,冷暖自知口难言

作者 | 魏启扬 来源 | 洞见新研社 发布可以“上天”的凝聚态电池、落地能量密度160Wh/kg的钠离子电池、量产系统集成度全球最高的麒麟电池…… 宁德时代在上海车展前后密集发声,坚决捍卫着“宁王”的冠冕。 如果再结合不久前的2022年年报,全年307亿的…

条码控件Aspose Barcode,满足您条码需求的终极解决方案

Aspose.BarCode for .NET 是一个功能强大的API,可以从任意角度生成和识别多种图像类型的一维和二维条形码。开发人员可以轻松添加条形码生成和识别功能,以及在.NET应用程序中将生成的条形码导出为高质量的图像格式。 Aspose API 支持流行文件格式处理&a…

如何在 Ubuntu 22.04 上安装 Python Pip?

Python Pip 是 Python 的包管理器,它允许您轻松地安装和管理 Python 包和库。在 Ubuntu 22.04 上安装 Python Pip 是非常简单的。 本文将详细介绍如何在 Ubuntu 22.04 上安装 Python Pip,并为您提供逐步指南。 步骤 1:更新软件包列表 在安装…

C嘎嘎~~[谈谈C++的一些优化]

C的一些优化 匿名对象引用引用作形参引用作返回值 编译器优化构造 拷贝构造 ⇒ 构造拷贝构造 拷贝构造 ⇒ 一个拷贝构造 匿名对象 通过以前C语言的学习, 我们知道了有一种 具有临时性的, 没有名字的变量 — — 匿名变量. 那么我们的对象应该也有这个特性 — — 匿名对象 匿名…

Kotlin 协程中的并发问题:我明明用 mutex 上锁了,为什么没有用?

前言 最近在接手的某项目中,主管给我发来了一个遗留以久的 BUG,让我看看排查一下,把它修复了。 项目的问题大概是在某项业务中,需要向数据库插入数据,而且需要保证同种类型的数据只被插入一次,但是现在却…

day15 - 使用图像金字塔进行图像拼接

在我们之前的学习过程中,使用的都是恒定大小的图像,但是在某些情况下,我们需要使用不同分辨率的(相同)图像。例如,当在图像中搜索某些东西(例如人脸)时,我们不确定对象将…

【高级语言程序设计(一)】第 10 章:文件

目录 一、文件概述 (1)文件定义 (2)文件命名 (3)文件分类 ① 按照文件的内容划分 ② 按照文件的组织形式划分 ③ 按照文件的存储形式划分 ④ 按照文件的存储介质划分 (4)文…

系统集成项目管理工程师 下午 真题 及考点(2019年上半年)

文章目录 一:第10章 项目质量管理,规划质量管理输出,质量成本法(一致性成本【预防、评价】 和 非一致性成本【内部失败、外部失败】),七种工具二:第8章 项目进度管理,总浮动时间&…

26 VueComponent 其他属性的更新

前言 这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 主要记录的是 vue 的相关实现机制 呵呵 理解本文需要 vue 的使用基础, js 的使用基础 测试用例 比如这里看一下 class 的更新 测试用例如下, 增加 topClazz …

4、js - 闭包

1、闭包的概念 闭包:函数嵌套函数,内层函数访问了外层函数的局部变量。 // 闭包 function func1() {let a 9;let b 8;function func2() {console.log("a", a); // a 9}func2(); } func1(); 分析: 需要访问的变量会被放到闭包…

语义分割实战项目(从原理到代码环境配置)

MMsegmentation是一个基于PyTorch的图像分割工具库,它提供了多种分割算法的实现,包括语义分割、实例分割、轮廓分割等。MMsegmentation的目标是提供一个易于使用、高效、灵活且可扩展的平台,以便开发者可以轻松地使用最先进的分割算法进行研究和开发。 看下结果 MMsegmenta…

day13 网络编程Tomcat服务器

c/s架构和b/s架构的区别 c/s架构:客户端软件,直观,体验好,界面美观,安全性高 b/s架构:浏览器–>服务器,可移植性好,开发和维护性好 网络访问的三要素:ip,端口,协议 udp协议和tcp协议的区别 udp协议:只管发送,不管发送到哪里,是否能不能接收,一对多,无连接通信协议 ​ …

《元宇宙之声》:Meta MCDH

为下一代建造未来就绪的校园。 在本期节目中,我们访问了香港路德会马锦明慈善基金马陈端喜纪念中学(MCDH)的陈婉玲校长,讨论了 MCDH 改革教育的愿景,通过培养年轻的创作者,让他们迈出进入 The Sandbox 的第…