本地浏览器打开远程服务器上的Jupyter Notebook

news2024/11/15 8:04:39

文章目录

  • 一、配置过程
  • 二、其他需求
    • 后台运行Jupyter
    • 端口映射

实验环境及需求:远程服务器配置了 Jupyter Notebook,本地电脑没有相关的环境,想要在服务器端启动 Jupyter Notebook,然后直接从本地浏览器打开进行操作。

一、配置过程

1. 登录远程服务器

2. 生成配置文件

>> jupyter notebook --generate-config

执行上面的命令,会生成 ~/.jupyter/jupyter_notebook_config.py 配置文件

3. 生成 Jupyter 密码

>> python

from notebook.auth import passwd
passwd()

首先输入 python 命令进入 python 环境,然后输入上面的代码设置密码。输入密码之后会再次进行确认,完毕后输生成的密钥。这里提前将密钥全部复制下来(包括单引号)备用。

Enter password:
Verify password:
'argon2:$argon2id$v=1$m=1024,t=0,p=0$RUJxA2Za9'  # 生成的密钥

4. 修改配置文件

>> vim ~/.jupyter/jupyter_notebook_config.py

使用 vim 打开配置文件,看到配置文件里全是被注释的内容,可以找到下面修改内容的对应行,取消注释后进行修改。但是我为了方便,就直接在配置文件开头添加下面的内容,两种做法效果是一样的。

c.NotebookApp.ip = '*' 
c.NotebookApp.password = u'argon2:$argon2id$v=1$m=1024,t=0,p=0$RUJxA2Za9'  # 这里u之后就是第3步生成的密钥
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8891   # Jupyter端口,可以自定义
c.NotebookApp.allow_remote_access = True

5. 启动 Jupyter

jupyter notebook

启动 Jupyter 之后我们可以在 terminal 里看到运行情况和运行日志。

6. 打开本地浏览器,运行 Jupyter

IP:Port

在浏览器地址栏输入 服务器IP:Jupyter端口号,这里的端口号就是在第 4 步配置文件 c.NotebookApp.port 指定的端口。

然后就可以正常访问啦~

二、其他需求

后台运行Jupyter

1. 后台运行 Jupyter

使用命令 jupyter notebook 启动 Jupyter,需要保持本地 terminal 一直打开,如果关闭 terminal 会切断本地和服务器的连接。如果我们觉得没必要在 terminal 里一直查看 Jupyter 运行情况和运行日志,可以通过后台运行 Jupyter 的方式达成目的。通过后台运行,即使关闭 terminal 或者 ssh 断开连接,本地也能通过 IP:Port 正常访问服务器端的 Jupyter。

方法:使用 nohup 命令后台运行 Jupyter

nohup jupyter notebook &

nohup 的用途是忽略 hangup 信号运行程序,程序的输出默认重定向到当前文件夹下的 nohup.out 文件中,如果要查看 Jupyter 的日志文件,可以用 vim 打开 nohup.out 文件进行查看。通过 nohup COMMAND > FILE 可以修改输出文件定位到指定的文件 FILE 中。& 的作用是在后台运行程序

输入以上命令后,终端有如下输出:

在这里插入图片描述

[1] 后面的 898214 就是 Jupyter 运行的 PID,后期可以通过这个 PID 关闭进程。‘nohup.out’ 是运行日志文件,保存在当前目录下。

2. 关闭后台运行的 Jupyter

要关闭通过 nohup 启动的 Jupyter,可以通过 ps -aux | grep jupyter 命令找到正在运行的 Jupyter 的 PID,然后通过 kill -9 pid 的方式关闭运行即可。

ps -aux | grep jupyter
kill -9 623370 

下面红框内的数字即进程的 PID:
在这里插入图片描述

端口映射

有些服务器可能只开放一个对外的端口,即访问服务器的端口。这样直接在本地访问仍然会显示无法连接,可以通过端口映射来解决。

本地连接服务器时,通过如下命令:

ssh -L 8891:localhost:8891 UserName@IP -p ServerPort

-L 后面是 Jupyter 的端口号(这里是我设置的端口 8891), UserName 是登录服务器的用户名,IP 是服务器 IP,ServerPort 是服务器端口号。

这句命令表示把本地的端口 8891 映射到远程服务器的端口 8891 上,这样便可以通过本地的 8891 端口来访问远程主机了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【百度AI_文字识别】示例身份证图片识别(代码官方文档完整,只需获得修改参数、下载类)

文章目录提取身份证信息第一步:登录第二步:获取资源第三步:获取access_token参数(AuthService.java)第四步:请求代码Idcard.java第五步:修改Idcard.java文件注意:返回错误提取身份证…

【跨境电商卖家】Instagram营销初学者指南(一):重要性、优势

关键词:跨境电商卖家、instagram营销 1.为什么 Instagram 营销对企业很重要? Instagram 是接触大量受众的完美渠道——每月有超过10 亿活跃用户。平均而言,用户每天在 Instagram 上花费 53 分钟,这使得该平台成为仅次于Facebook的…

微信网页支付小白指南-域内浏览器支付 + 外部浏览器支付

关于微信网页支付,分为微信域内浏览器支付 外部浏览器支付,两者还是稍微有点点区别的,内部浏览器即在微信内打开网页,进行支付,支付调用是需要开通JSAPI支付方式;而外部浏览器「比如浏览器等」则需要开通 …

Leetcode刷题day2|数组二|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

文章目录一、有序数组的平方错误的尝试思路注意AC代码暴力版本双指针方法二、长度最小的子数组错误的尝试思路滑动窗口介绍注意AC代码三、螺旋矩阵错误的尝试思路注意AC代码继承前边循环变量的写法不继承前边循环变量的做法四、数组做题思路总结基本知识解题思路一、有序数组的…

将爱心代码设为电脑屏保,俘获少女芳心,还能假装黑客,在酷炫的界面中保护隐私

本文介绍 Hacker Screen Saver 一款开源 Windows 屏保的使用。Hacker Screen Saver 是一款 .NET 设计的屏幕保护程序,可以显示 HTML 页面,你可以将黑客模拟器的网页,或者爱心代码网页设置为你的 Windows 电脑屏保。详细介绍了软件的使用和对应…

apritag 定位记录 C++ opencv 3.4.5

参考:2021-06-23 基于AprilTag的位姿估计,原理,完整代码(相机坐标系、世界坐标系) - 简书 Apriltag使用之二:方位估计(定位)_arczee的博客-CSDN博客_apriltag位姿估计 1.AprilTag概述 AprilTag是一种视觉…

Matlab:绘制日期时间

Matlab:绘制日期时间绘制日期时间数据指定坐标区范围指定刻度值指定刻度格式存储日期时间的坐标区属性导出和转换数据提示值绘制来自文件的日期时间数据此示例说明如何使用存储为 datetime 和 duration 数组的日期时间创建线图。datetime 数据类型表示时间点&#x…

Linux I/O 原理和 Zero-copy 技术全面分析

两万字长文从虚拟内存、I/O 缓冲区,用户态&内核态以及 I/O 模式等等知识点全面而又详尽地剖析 Linux 系统的 I/O 底层原理,分析了 Linux 传统的 I/O 模式的弊端,进而引入 Linux Zero-copy 零拷贝技术的介绍和原理解析,将零拷贝…

项目终于收尾了,第一次体验到专业项目管理软件的魅力

转眼到了年底,我跟进的项目也到了收尾阶段。之前陆陆续续给大家分享了入职新公司后,使用新引进的项目管理软件做项目的一些体会和心得,其中一些比较高效便捷的技巧和功能模块也引起了大家的兴趣。 最近刚好临近项目尾声,也给大家…

Maven的详解

在java中Maven就是一个包管理工具,在没有包管理工具时,我们要做一个java项目,需要第三方依赖包,将别人打包好的Jar包下载到本地,然后手动指定给项目.操作比较麻烦,比如版本控制,有的甚至还有其他包的依赖,属实是繁琐,技术是不断地迭代的,所以就出现了Maven,用了Maven之后,需要什…

安装nodejs的详细流程保姆级(踩了无数次坑)

node 简述: node的使用已经是前端选手基本的选择,其强大的功能甚至到了要和后端抢活干的地步,同时想要搭建个人的博客用node工具也是非常方便的,作为一名后端选上,刚开始准备下载node的时候是因为想要去搭建个人的博客,但是下载之后,使用npm install命令的时候一直报错,无奈找…

G1D14fraudgitpipenvdf操作APT论文RCE37-40服务器搭建

一、fraud 突然发现电脑上还没有python编译器,xswl,快装一下 (一)git操作 (二)git中分支的作用 (三)虚拟环境 1、pip install后的包一般放在哪里 lib/site-packages下 真的是欸&a…

LiveData

LiveData是一个抽象类,那么我们从简单的MutableLiiveData开始剖析,先看源码 源码太简洁了,就是继承LiveData,然后重写了父类的方法,并且没有多余的操作,都是直接使用父类方法里的逻辑,那我们就根…

安全防护的原则

电力行业 工控安全解决思路保障框架从电力行业对工控安全需求看,电力企业在主要是以合规性建设为主,在 2004 年原电监会 5 号令颁布开始,大部 分的电厂控制系统安全 建设已经按照 5 号令的要求进行了整改,形成“安全分区、网络专…

数电笔记总结(三)(逻辑门电路)

目录逻辑门基础逻辑门电路分立元件基本逻辑门电路TTL集成门电路(与非门)两种特殊门(重点)1.集电极开路门(OC门)2.三态门电路逻辑门基础 逻辑门电路 门电路:具有控制信号通过或不通过能力的电路…

某某桥的检测和加固设计

目录 某某大桥桥梁检测及加固设计报告 1 0 总论 2 0.1 检测目的 2 0.2 桥梁结构混凝土强度检测[1] 2 0.3 结构综合评定指标 4 0.4桥梁承载能力[3] 4 0.5 桥梁结构荷载试验 6 0.6 主要结果与结论 8 1某某大桥简介 11 1.1某某大桥简介 11 1.2 检测仪器与设备 15 2 外观检查与检测…

【跟学C++】C++STL标准模板库——算法整理(上)(Study18)

文章目录1、STL简介2、STL算法分类及常用函数2.1、非变序算法2.1.1 计数算法(2个)2.1.2 搜索算法(7个)2.1.3 比较算法(2个)3、总结 【说明】 大家好,本专栏主要是跟学C内容,自己学习了这位博主【 AI菌】的【C21天养成计划】,讲的十分清晰&am…

每个程序员都要知道的一个网站

在日常开发过程中,你是不是经常回到搜索引擎,搜索某个功能的实现方式,比如:Javascript 数组排序、正则表达式等等。 今天给大家推荐的这个网站,就可以满足大家的需求,它叫:30secondsofcode&…

抽象类与接口

目录 1. 抽象类 1.1 抽象类概念 1. 2🐔抽象类特性 1.3 抽象类的作用 2. 接口 2.1 接口是什么 2.2 语法规则 2.3 方法的使用 2.4 接口特性 2.5 实现接口 VS 继承类 2.6 抽象类 VS 接口(总结) 2.6 接口间的继承 🐓 随着…

漫画脸头像怎么制作?这几种方法可以帮到你

你们会经常更换头像吗?我身边就有一些朋友会这样做,看到喜欢的头像就换,而且他基本上都是找那些漫画脸来当头像。那如果我们把自己的人像制作成漫画脸,就不容易跟别人撞头像了,还显得有个性。 估计有很多小伙伴不知道漫…