如何在实验室内网环境下搭建 Jupyter 远程开发环境

背景

近期我在实验室的电脑上对深度学习模型进行了训练,一般是直接操作电脑主机或通过向日葵等软件远程控制主机。然而,这种远程操作时遇到了两个问题,一是鼠标控制的网络延迟,二是笔记本和远程主机的显示屏幕大小分辨率不同,导致显示效果差,眼睛都要看瞎了。
正好最近接触了反向代理和网站搭建,便有了基于实验室高配置电脑搭建Jupyter 远程深度学习开发环境的想法。

要求

  • 具有公网的云服务器一台
  • 高配置深度学习主机
  • 主机已经安装conda
  • 域名(非必要)

第一步:搭建反向代理环境

具体步骤参考我的另一篇文章如何在内网主机上快速搭建一个Wordpress个人网站中的【一、反向代理】
frp服务配置在7000端口上,jupyter服务配置在主机的8888端口上,同时映射到云服务的18888端口上。
frp的配置文件如下:

#  frps.ini内容如下:
[common]
服务器开放给客户端的frp端口
 bind_port = 7000
 # http端口
vhost_http_port = 18888
#https端口
vhost_https_port = 8001
dashboard_addr = 0.0.0.0
#控制面板端口,用户名,密码
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = yourpassword
#  frpc.ini内容如下:
[common]
server_addr = 服务器ip地址或者域名
server_port = 7000
tls_enable = true
admin_addr = 127.0.0.1
admin_port = 7500
admin_user = admin
admin_pwd = yourpassword
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10022
[web]
type = http
local_port = 18888
custom_domains=服务器ip地址或者域名

搭建好反向代理环境后便可以通过http://域名:18888访问到实验室主机的8888端口的jupyter服务了。

第二步:配置jupyter

为了安全起见,我们设置jupyter的登录方式为密码登录。

1 生成登录密码的哈希值

在python环境下输入以下代码段:

from notebook.auth import passwd
password = passwd("your-password-here")
print(password)

执行,然后输入2次密码,会生成密码的哈希值
例如:

argon2:$argon2id$v=19$m=10240,t=10,p=8$qAPGpS2jCeSSaE2wo/G3SA$OBmKr9TfLUN0iDHde4EjsE7NkPSrMxP7aiUusvtf0k

2 编辑jupyter启动脚本

新建txt文件,输入如下内容

E:
cd E:\XXX
call C:\Users\513\anaconda3\Scripts\activate.bat 
call activate ee
REM  start microsoft-edge http://localhost:8888/tree
call jupyter notebook  --port=8888 --no-browser  --NotebookApp.allow_remote_access=True --NotebookApp.password=argon2:$argon2id$v=19$m=10240,t=10,p=8$qAPGpS2jCeSSaE2wo/G3SA$OBmKr9TfLUN0iDHde4EjsE7NkPSrMxP7aiUuzsvtf0k
pause

需要根据情况修改以下几个地方:

  • E:\XXX为jupyter启动后的根路径
  • C:\Users\513\anaconda3\Scripts\activate.bat 为anaconda3的安装路径,对应进行修改
  • ee为conda激活环境的名称
  • –NotebookApp.password=上一步得到的哈希值

保存txt文件,重命名为【打开Jupyter服务器.bat】
双击执行,成功启动后我们的jupyter就已经可以被远程访问了。

结果

在浏览器中输入 http://twinbee.cn:18888/,输入密码就可以远程访问jupyter了
在这里插入图片描述
在这里插入图片描述
最后 欢迎大家参观我个人网站twinbee.cn

猜你喜欢

转载自blog.csdn.net/weixin_41099712/article/details/130049893