远程访问本地jupyter notebook服务 - 无公网IP端口映射

2023-05-16

文章目录

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

转载自远控源码文章:公网远程访问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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

远程访问本地jupyter notebook服务 - 无公网IP端口映射 的相关文章

  • 超详细讲解线性表和顺序表!!

    超详细讲解线性表和顺序表 xff01 xff01 线性表顺序表顺序表的概念及结构静态顺序表动态顺序表 顺序表接口实现1 创建2 初始化3 扩容4 尾插5 打印6 销毁7 尾删8 头插9 头删10 插入任意位置11 删除任意位置12 查找13
  • Leetcode—移除元素、删除有序数组中的重复项、合并两个有序数组

    移除元素 此题简单 xff0c 用双指针方法即可 xff0c 如果右指针指向的元素不等于val xff0c 它一定是输出数组的一个元素 xff0c 我们就将右指针指向的元素复制到左指针位置 xff0c 然后将左右指针同时右移 xff1b 如
  • 超详细讲解C语言文件操作!!

    超详细讲解C语言文件操作 xff01 xff01 什么是文件文件名 文件的打开和关闭文件指针文件的打开和关闭 文件的顺序读写文件的随机读写fseekftellrewind 文本文件和二进制文件文件读取结束的判定文件缓冲区 什么是文件 磁盘上
  • windows HLK server部署操作步骤

    Windows Hardware Lab Kit HLK 是微软官方提供的一个测试工具组 xff0c 也是windows系统认证工具 The Windows Hardware Lab Kit Windows HLK is a test fr
  • 超详细讲解Java的数据类型与变量

    超详细讲解Java的数据类型与变量 字面常量数据类型变量整型变量长整型变量短整型变量字节型变量 浮点型变量双精度浮点型单精度浮点型 字符型变量布尔型变量 转换自动类型转换 隐式 强制类型转换 显式 类型提升 字面常量 在System Out
  • java.lang.instrument ASSERTION FAILED ***: “error

    java lang instrument ASSERTION FAILED error 61 61 JVMTI ERROR NONE at Reentrancy c line 161 问题记录 应该是jdk版本更新的问题 第一次运行代码时出
  • C语言实现汉诺塔问题(保姆式讲解)

    前言 大家好 xff0c 又是再一次分享文章 xff0c 我十分感谢各位能够点开这篇花费我颇多时间才解决的汉诺塔问题 xff0c 接下来我就要分享一下自己的所思所想 xff0c 希望能给各位带来一些不一样的收获吧 提醒 汉诺塔问题的本质是函
  • Ubuntu20.04下基于ROS和PX4的无人机仿真平台的基础配置搭建(我所遇到的问题)

    写在前面 xff1a 我目前也处于学习阶段 xff0c 当时按照ROS教程安装的20 04 xff0c 随后搭建XTDrone阶段因为版本问题出现了很多问题 xff0c 这是我根据问题 xff0c 检索后汇总的一些解决措施 本文中提到的问题
  • for 循环无限循环ing....

    题目没思路 xff0c 有思路无法各种错误 xff0c 基础不牢 xff0c 程序的本质理解不透彻 头疼
  • ER图学习笔记(附各个图型的举例,实战案例)

    ER图常用图形如下 xff1a ER图图形含义详解 实体 xff08 长方体 xff09 xff1a 实体字面意思就是实际存在的 xff0c 例如商品 xff0c 货物 xff0c 用户 属性 xff08 椭圆 xff09 xff1a 属性
  • Visual Stdio 2022 C语言源文件调试教程

    下面是一个简单的C语言程序 xff0c 我将以它为例说明如何进行VS2022调试 include lt stdio h gt int main int a b sum a float x y sum b scanf s 34 d d 34
  • 选择排序法和冒泡排序法的比较

    本篇以对元素从小到大有序排列为例 xff0c 比较了选择排序法和冒泡排序法的相同点和不同点 同 xff1a 1 循环结构相同 xff1a 均采用了与i有关的for循环和与j有关的for循环的双层嵌套模式 2 最后结果相同 xff1a 均实现
  • Npm包管理版本机制

    Npm是什么 npm是世界上上 xff0c 使用最广泛的软件管理工具 xff0c 是运行时 Node js 的默认程序包管理器 NPM版本机制 版本号规范 npm是通过版本机制来解决的依赖机制 npm的规范的标准版本号采用 X Y Z 的格
  • to String语句的作用和用法

    在 Java 中 xff0c toString 方法是 Object 类中的一个方法 xff0c 用于返回对象的字符串表示 当我们打印一个对象时 xff0c 实际上是调用了该对象的 toString 方法 如果没有重写该方法 xff0c 将
  • KVM 环境搭建(Base on Ubuntu)

    Kernel based Virtual Machine的简称 xff0c 是一个开源的系统虚拟化模块 xff0c 自Linux 2 6 20之后集成在Linux的各个主要发行版本中 Use the latest kernel of the
  • 为什么这里的int型指针变量为8字节

    include lt stdio h gt void test1 int main test1 return 0 void test1 int num 61 100 取变量地址用 amp amp num代表标量的num的起始地址 print
  • C语言字符查找

    include lt string h gt include lt stdio h gt int main void char string 101 gets string char ptr c scanf 34 c 34 amp c pt
  • 使用vs2022遇到的一些问题

    小白的C语言之路 目录 前言 一 vs2022是什么 xff1f 二 我遇到的几个问题 1 字体调整在哪呢 xff1f 2 同一个项目中练习 xff0c 建立了多个源文件怎么办 xff1f 3 不小心关掉了错误列表 xff0c 解决方案资源
  • strtok函数的模拟实现

    本篇文章属于C语言初阶内容 xff0c 请各位读者选择阅读 目录 1 strtok函数 1 1 strtok函数的说明 1 2 strtok函数的模拟实现 1 strtok函数 1 1strtok函数的说明 首先我们来看strtok函数的定
  • Linux权限 - 概念与管理 | 文件权限的修改与转让 【详解】

    目录 Linux权限 Linux权限的概念 Linux权限的基础操作 1 实现用户账号的切换 2 仅提升当前指令的权限 Linux权限管理 1 文件访问者的分类 xff08 人 xff09 2 文件类型和访问权限 xff08 事物属性 xf

随机推荐