前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >本地远程访问Linux服务器上的jupyter notebook

本地远程访问Linux服务器上的jupyter notebook

作者头像
触摸壹缕阳光
发布2020-06-23 15:21:19
9.6K0
发布2020-06-23 15:21:19
举报

原创干货,第一时间送达

Jupyter notebook是一种Web应用程序,当在拥有图形化界面的windows、Linux和Mac系统中,很容易安装使用。不过通常我们会将一些消耗性能的代码放到性能更强的Linux服务器中,通过本地机器来访问运行,这些Linux服务器没有图形化界面只能够通过命令来进行交互,如果想要在Linux服务器中直接使用Jupyter notebook是不可能的事情。不过我们可以将Jupyter notebook安装在Linux服务器中,然后通过本地的浏览器来访问Linux服务器中的Jupyter notebook。

在Linux服务器上安装Anaconda

Jupyter notebook是Anaconda中的内嵌工具,所以如果需要使用Jupyter notebook首先要安装Anaconda。安装Anconda的方式有很多,这里使用最直观的方式,将Anconda下载到本地,然后通过XShell工具将Anaconda安装包上传到Linux服务器中,通过命令执行安装Anconda。

01

下载Linux版本的Anconda到本地

访问Anconda官方下载地址:

https://www.anaconda.com/products/individual,选择Linux版本的Anconda下载到本地计算机中。这里选择Python3.7版本,X86和Power8 and Power9表示不同的处理器架构,这里选择x86即可。

▲选择Linux版本的Anconda下载到本地

02

通过XShell上传安装包到Linux服务器

通过XShell将本地文件上传到Linux服务器中需要使用lrzsz小工具,默认Linux中是没有这个小工具的,因此要想使用XShell上传文件首先安装lrzsz。

▲安装lrzsz

安装成功后直接输入rz,将下载到本地的"Anaconda3-2020.02-Linux-x86_64.sh"文件上传到Linux服务器上。

▲上传下载到本地的Anconda安装文件

03

安装Anaconda

有了Anaconda的安装包,接下来安装Anaconda就非常简单了,不过由于上传后的文件没有可执行权限,因此需要先为文件添加可执行的权限。

▲添加可执行权限

文件有了可执行权限,直接执行"Anaconda3-2020.02-Linux-x86_64.sh"文件即可进入安装程序。

▲执行文件进入安装步骤

阅读软件许可,直接按"q"即可,然后输入"yes"表示接受许可。

▲许可条例

输入"yes"同意许可条例。

▲同意许可条例

指定Anaconda的安装路径。

▲指定安装路径

是否添加Anconda的环境变量?为了能够在全局使用,输入"yes"添加即可。

▲添加Anaconda的环境变量

重新连接XShell输入"conda --version"成功输出conda的版本表示Anaconda安装成功。

▲成功安装Anaconda

本地访问Linux服务器上的jupyter notebook

如果此时在拥有桌面的Linux Terminal中输入"jupyter notebook"之后会自动弹出系统默认的浏览器,但是对于没有桌面的Linux服务器:

  • 首先由于没有桌面程序,因此不会调出图形化的浏览器;
  • 其次jupyter默认监听的是localhost,也就是只能通过Linux服务器才能够访问;

01

root权限问题

如果执行"jupyter notebook"会出现关于root权限的问题。

▲root权限问题

解决这个问题非常简单:

  • step1: 输入"jupyter notebook --generate-config --allow-root"命令,在指定"/root/.jupyter/"路径下生成"jupyter_notebook_config.py"文件;
  • step2: 使用vim编辑"jupyter_notebook_config.py"文件,修改"c.NotebookApp.allow_root =True",并将其注释删除;

▲生成配置文件

▲修改指定配置文件

02

不弹出浏览器

在XShell中输入"jupyter notebook --no-browser",在不弹出浏览器的情况下启动jupyter notebook服务。

▲不弹出浏览器

03

SSH端口转发实现本地访问

需要将Linux服务器中的端口转发到本地机器,在本地机器中执行"ssh -N -f -L localhost:8888:localhost:8888 root@192.168.135.151",注意:

  • 如果本地机器是Windows,需要安装一些额外的软件使用SSH,比如OpenSSH;
  • 如果本地机器是Mac或者Linux,则默认安装SSH可以直接使用;

由于我的本地机器是Windows,因此使用cmd启动Windows的命令行,输入"ssh -N -f -L localhost:8888:localhost:8888 root@192.168.135.151",这里需要注意"root@192.168.135.151"中的root表示Linux服务器的用户名,而后面的192.168.135.151为Linux服务器的ip地址,如果想要访问自己的Linux服务器,只需要改成相对应的用户名和ip地址即可。

▲在本地机器上执行ssh端口转发命令

查看在XShell中监听的jupyter notebook服务的地址,这里需要将完整的token也复制下来。

▲在XShell监听的jupyter中找到地址

打开本地浏览器直接输入复制的完整地址即可访问Linux服务器中的jupyter notebook。

▲通过本地浏览器访问Linux服务器中的jupyter

下面是我的Linux服务器中的文件,通过对比印证了本地访问的是Linux服务器中的jupyter notebook。

▲Linux服务器中的文件

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI机器学习与深度学习算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档