专栏首页AI机器学习与深度学习算法本地远程访问Linux服务器上的jupyter notebook

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

原创干货,第一时间送达

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服务器中的文件

本文分享自微信公众号 - AI机器学习与深度学习算法(AI-KangChen),作者:Chenkc

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • matplotlib 设置移动边框

    绘制余弦曲线的代码在 Pycharm 中执行调用,执行的结果会弹出一个独立的桌面端图形界面。这里以二维图形为例,在 matplotlib 中的图形是由几个部分构...

    触摸壹缕阳光
  • 机器学习入门 10-6 精确率-召回率曲线

    本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍两个精准率-召回率曲线,其中一个是横坐标为选定的阈值,里面的两根曲线分别为对应阈值下的精准率和召回...

    触摸壹缕阳光
  • 机器学习入门 8-4 为什么要训练数据集与测试数据集

    本系列是《玩转机器学习教程》一个整理的视频笔记。这一小节,主要介绍通过测试数据集来衡量模型的泛化能力,并得出训练数据集和测试数据集关于模型复杂度与模型精确度之间...

    触摸壹缕阳光
  • Linux入门很简单

    因为计划以后用Linux作为服务器操作系统,并购买了腾讯云的服务器,安装了CentOS。但由于自己对于Linux知之甚少,于是就想买一本比较简单的入门书。最后选...

    张子阳
  • Linux恶意软件简史

    ? ——那些年困扰Linux的蠕虫、病毒和木马 虽然针对Linux的恶意软件并不像针对Windows乃至OS X那样普遍,但是近些年来,Linux面临的安全威...

    小小科
  • 域名解析及连接服务器的相关问题

    星辉
  • 你为什么需要在云端构建Linux服务器?

    云端Linux服务器比以往来得成本更低、性能更好。 要是你之前还没有启动过云端Linux服务器,眼下也许正是大好时机。原因何在因为你在短短几分钟内就能安装好一台...

    静一
  • putty、pscp、psftp 使用教程

    https://www.chiark.greenend.org.uk/~sgtatham/putty/

    Coding十日谈
  • 2019值得选用的五个Linux服务器发行版

    Linux发行版很少互相复制。从以下5个最流行的Linux服务器发行版来看,这一点很明显,它们各有不同的优缺点。

    习惯说一说
  • MySQL/MariaDB数据库基于SSL实现主从复制

    前言 备份数据库是生产环境中的首要任务,重中之重,有时候不得不通过网络进行数据库的复制,由于MySQL/MariaDB的主从复制是明文传送的,如果在生产环境中跨...

    小小科

扫码关注云+社区

领取腾讯云代金券