原创干货,第一时间送达
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服务器中的文件