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

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

在使用反向代理访问服务器上配置远程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 [email protected] -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 [email protected] -p 22 -i C:Usersyour_nameDesktopid_rsa

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5495607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存