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,

相关推荐
learning_tom11 小时前
HTML图片标签及路径详解
linux·服务器·php
魔道不误砍柴功1 天前
Mac 能够连Wife,但是不能上网问题解决
网络·macos·php
搬码临时工1 天前
怎样让外网计算机访问局域网计算机?通过公网地址访问不同内网服务的设置方法
开发语言·php
小冷coding1 天前
随时随地写代码:Jupyter Notebook+cpolar让远程开发像在本地一样流畅
ide·python·jupyter
996终结者2 天前
软件使用教程(四):Jupyter Notebook 终极使用指南
ide·python·jupyter
Fortinet_CHINA2 天前
案例精述 | 防护即智能 Fortinet赋能英科全栈安全重构实践
安全·重构·php
BingoGo2 天前
PHP Swoole/WebMan/Laravel Octane 等长驻进程框架内存泄露诊断与解决方案
后端·php
切糕师学AI2 天前
基于https+域名的Frp内网穿透教程(Linux+Nginx反向代理)
内网穿透
于壮士hoho3 天前
Python | jupyter notebook默认文件保存路径
python·机器学习·jupyter
站长朋友3 天前
香港主机支持PHP版本吗
开发语言·php·香港主机php版本·php 8.4支持·wordpress主机配置·香港主机性能对比·php版本兼容性测试