jupyter+云服务器+内网穿透=无痛远程jupyter服务

写在前面

为什么心血来潮想起来搞这个jupyter的远程呢?因为前段时间俺出去实习了,本来想着在公司就用todesk远程操控学校的服务器搞搞比赛也行,没成想刚好遇上todesk开始收费加上远程效果实在不够看,大幅度降低写代码体验感。突然前天看群里大佬吹水,突然想到这个方法。网上一搜还真有通过云服务实现jupyter远程访问的贴子,于是花了半天搞成了(道爷,我成了!!)。但是作为一个不懂网络和云服务器的小白,网上的帖子实在太过深奥以至于走了不少弯路,于是就有了这篇帖子!!

1.jupyter lab远程访问配置

首先要知道的是,内网访问 (个人的电脑和访问电脑在一个局域网下面)和外网访问(个人电脑和访问电脑不在一个局域网下面)是不一样的。如果要实现内网访问只要需要按照下述方式修改jupyter lab的远程访问的配置就行(因为 jupyter 本身就支持局域网访问)

1.生成配置文件(这里如果是jupyter notebook可能命令不太一样,可以去查一下)

python 复制代码
jupyter lab --generate-config

这将会生成一个 jupyter_lab_config.py 的配置文件到 ./jupyter 文件夹下

2.设置远程登陆jupyter lab的密码

python 复制代码
jupyter lab password
Enter password:  ****  # 以后通过这个密码可访问
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_server_config.json

输入完成后密码会被记录到~/.jupyter/jupyter_notebook_config.json里面

3.修改~/.jupyter/jupyter_notebook_config.py文件

默认这个文件的配置都是注释掉的,需要删除 #

python 复制代码
c.ServerApp.allow_remote_access = True  # 允许使用远程访问
c.ServerApp.ip = '*'  # 监听所有ip
c.NotebookApp.password = '' # 粘贴jupyter_notebook_config.json文件中生成的密码hash
c.ServerApp.port = 8888  # 默认就是8888,不修改也行

内网访问

这里要明确,做完第一步,修改完jupyter lab的配置,就可以实现内网访问(局域网访问了)

使用ifconfig或ipconfig查看服务器在内网终端ip地址,使用同一个局域网下的电脑,输入xx.xx.xx.xx:8888就可以访问到jupyter lab了

外网访问

准备1:去腾讯云,华为云,阿里云等等去购买一个云服务器

准备2:下载frp(有其他更多的内网穿透软件,也可以使用其他的)

服务器端配置(这里指的云服务器)

c 复制代码
[common]
bind_port = 7000

客户端配置(这里指提供jupyter lab服务的电脑)

python 复制代码
[common]
serverAddr = "x.x.x.x"  # 这里指云服务的IP地址
serverPort = 7000             # 这里要和服务器配置bind_port一样

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8888        # jupyter lab的默认端口就是8888
remotePort = 8889       # 这里是映射到服务端端口(服务器需放行)

然后运行frp服务

python 复制代码
# 云服务器
./frps -c frps.toml  # 如果是linux
frps.exe -c frps.toml  # 如果是win

# 提供jupyter lab服务的本地电脑
./frpc -c frpc.toml  # 如果是linux
frpc.exe -c frpc.toml  # 如果是win

然后使用云服务器的ip地址 + remotePort = 8889 # 这里是映射到服务端端口(服务器需放行)就可以访问了

例如111.111.111.111:8889,

相关推荐
两个人的幸福11 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo13 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack13 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户30745969820714 天前
PHP 扩展——从入门到理解
php
鹏仔先生15 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下15 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
xingpanvip15 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
菜板春15 天前
jupyter入门-手册-特征探索
python·jupyter
酉鬼女又兒15 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog25015 天前
不要再继续优化 TCP
网络协议·tcp/ip·php