栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

在使用反向代理访问的服务器上配置远程jupyterNotebook

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在使用反向代理访问的服务器上配置远程jupyterNotebook

在使用反向代理访问的服务器上配置远程jupyterNotebook
  • 使用场景
  • 配置流程
  • 简化的访问方式

使用场景

自己的电脑没有GPU或者配置较低,想要使用远程的linux服务器进行深度学习,而且需要jupyter notebook这样的交互式使用方式。

当前有很多教程教大家配置使用jupyter notebook访问远程服务器,但是它们都要求服务器拥有固定的公网ip。可是有些服务器没有固定的公网ip,是通过使用ngrok等反向代理软件通过有公网ip的跳板机访问,所以无法参照那些教程进行配置。

本教程以本地windows电脑和远程Ubuntu服务器为示例,服务器没有公网ip,是通过华为云服务器作为跳板机访问的。

配置流程

1.在远程服务器上安装anaconda
这个步骤应该大多人都做过,如果输入conda没有提示command not found即可跳过。

可参考文章 miniconda安装及环境创建(Linux)

2.在远程服务器上安装jupyter lab,并设置密码

安装jupyter lab

pip install jupyterlab

设置密码

jupyter notebook password

然后输入两次想要设置的密码确认。

3.选择一个未被占用的端口,以供jupyter使用。

挑选一个自己喜欢的端口,如7421.使用以下命令查看7421端口是否被占用。

 lsof -i:7421

如果没有任何输出结果,证明该端口可以使用。

4.打开服务器上的jupyter

运行以下命令。7421可改成自己选择的端口号,ip=*是指任何ip都可以访问。noteboo-dir=’~/'是指把当前用户根目录当作notebook的工作目录。

jupyter lab --port='7421' --ip='*' --notebook-dir='~/'

可以在该命令之前加上nohup,防止jupyter因为终端关闭而退出。即

nohup jupyter lab --port='7421' --ip='*' --notebook-dir='~/'

这样每次在自己电脑上使用notebook的时候,就不用重新在服务器上打开jupyter了。

5.在本地电脑上使用

打开cmd, 输入命令

ssh -CNL localhost:8888:localhost:7421 username@103.200.30.245 -p 22

8888是本地电脑jupyter使用的端口,可以任意指定,默认为8888。7421是服务器上jupyter使用的端口。103.200.30.245是访问服务器时使用的ip地址,22是ssh登录的默认端口号。

上述提到的内容除了8888可以使用默认值不更改外,其它值一般都需要根据自己服务器的实际情况更改。

运行命令之后,打开浏览器,输入网址localhost:8888 即可使用jupyter notebook进行远程访问。

首次登录需要填入2中设置的jupyter密码。

如图,点击Notebook下方的python,即可出现我们熟悉的notebook页面。

6.选择自己的python环境

本地打开jupyter之后,发现我们找不到在服务器上安装的anaconda环境。要想选择我们已经安装好的python环境,需要继续在服务器上配置。

首先在服务器上激活我们想要的python环境。比如我们先激活mypythonenv环境

conda activate mypythonenv

然后安装ipykernel

pip install ipykernel

安装完成后运行

ipython kernel install --user --name mypythonenv

mypythonenv是该环境的名字。然后base环境就出现在我们本地的jupyter notebook里了

简化的访问方式

在进行第4步,本地电脑上打开时,每次都要打开cmd,输入命令和登录服务器的密码,并且手动打开浏览器输入地址。可以通过使用密钥登录,运行.cmd的方式一步完成。

假设我们本地私钥的文件路径为C:Usersyour_nameDesktopid_rsa

新建一个txt文本文档,输入

start http://localhost:8888/
ssh -CNL localhost:8888:localhost:7421 username@103.200.30.245 -p 22 -i C:Usersyour_nameDesktopid_rsa

保存,并将文件后缀改为.cmd。以后只需要打开该文件就可以直接弹出jupyter notebook了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/503512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号