![25ae558a7489823551d7ad9d7d9437b3.png](https://i-blog.csdnimg.cn/blog_migrate/ff6b1adc3b062e0941d737c3a8bc83f7.jpeg)
Jupyter notebook是一种Web应用程序,当在拥有图形化界面的windows、Linux和Mac系统中,很容易安装使用。不过通常我们会将一些消耗性能的代码放到性能更强的Linux服务器中,通过本地机器来访问运行,这些Linux服务器没有图形化界面只能够通过命令来进行交互,如果想要在Linux服务器中直接使用Jupyter notebook是不可能的事情。不过我们可以将Jupyter notebook安装在Linux服务器中,然后通过本地的浏览器来访问Linux服务器中的Jupyter notebook。
1. 在Linux服务器上安装Anaconda
Jupyter notebook是Anaconda中的内嵌工具,所以如果需要使用Jupyter notebook首先要安装Anaconda。安装Anconda的方式有很多,这里使用最直观的方式,将Anconda下载到本地,然后通过XShell工具将Anaconda安装包上传到Linux服务器中,通过命令执行安装Anconda。
Step1:下载Linux版本的Anaconda到本地
访问Anconda官方下载地址:
Individual Editionwww.anaconda.com![ce8ce133f132e0a5ac7629972e825f24.png](https://i-blog.csdnimg.cn/blog_migrate/83941e442abbff508d462e20a4f446c1.png)
选择Linux版本的Anconda下载到本地计算机中。这里选择Python3.7版本,X86和Power8 and Power9表示不同的处理器架构,这里选择x86即可。
![552071159df987891c8a5213cac5dff6.png](https://i-blog.csdnimg.cn/blog_migrate/8902279159c6fa7cf7fc825d9bce6df0.jpeg)
Step2:通过XShell上传安装包到Linux服务器
通过XShell将本地文件上传到Linux服务器中需要使用lrzsz小工具,默认Linux中是没有这个小工具的,因此要想使用XShell上传文件首先安装lrzsz。
![90c41b6bd37819515cfb2061fec4218b.png](https://i-blog.csdnimg.cn/blog_migrate/4daccccdf03e6eae8930af1c0dbbb272.jpeg)
安装成功后直接输入rz,将下载到本地的"Anaconda3-2020.02-Linux-x86_64.sh"文件上传到Linux服务器上。
![5960f579b0174329c7acebe26ce186d6.png](https://i-blog.csdnimg.cn/blog_migrate/df5ed7f04cad00b8cd82932adf3bf27e.jpeg)
Step3:安装Anaconda
有了Anaconda的安装包,接下来安装Anaconda就非常简单了,不过由于上传后的文件没有可执行权限,因此需要先为文件添加可执行的权限。
![6ea4ed39e765f1c4adac398b7fa994eb.png](https://i-blog.csdnimg.cn/blog_migrate/4c18a15476790c67ebb640dece3831a2.jpeg)
文件有了可执行权限,直接执行"Anaconda3-2020.02-Linux-x86_64.sh"文件即可进入安装程序。
![45f07680deed8b211a804d3e39edd6e6.png](https://i-blog.csdnimg.cn/blog_migrate/20256acc38c1f63eed874c597480f019.jpeg)
阅读软件许可,直接按"q"即可,然后输入"yes"表示接受许可。
![c6cfe61263f1fff6dbad7d542d315c92.png](https://i-blog.csdnimg.cn/blog_migrate/bbc3e8c916053904753ab68f8939541c.jpeg)
输入"yes"同意许可条例。
![8c116c4df1adadc7b6aefa840fd780af.png](https://i-blog.csdnimg.cn/blog_migrate/919044a2dae3139dd175017b324263a3.jpeg)
指定Anaconda的安装路径。
![ab5b0a00cecb51298de55c773094b95f.png](https://i-blog.csdnimg.cn/blog_migrate/f08c42ceb0e6c7c728efa2e1cc41608d.jpeg)
是否添加Anconda的环境变量?为了能够在全局使用,输入"yes"添加即可。
![7502e1d9a800d40a98cb03f7f3552c48.png](https://i-blog.csdnimg.cn/blog_migrate/5d108f214999cc4a4bff7c8accccada6.jpeg)
重新连接XShell输入"conda --version"成功输出conda的版本表示Anaconda安装成功。
![7accf01f0fed96931b8cdb2de28a3f57.png](https://i-blog.csdnimg.cn/blog_migrate/be5736ff3b90a826354148caffadbd48.png)
2. 本地访问Linux服务器上的jupyter notebook
如果此时在拥有桌面的Linux Terminal中输入"jupyter notebook"之后会自动弹出系统默认的浏览器,但是对于没有桌面的Linux服务器:
- 首先由于没有桌面程序,因此不会调出图形化的浏览器;
- 其次jupyter默认监听的是localhost,也就是只能通过Linux服务器才能够访问;
Step1:root权限问题
如果执行"jupyter notebook"会出现关于root权限的问题。
![39c831bfb56926b9a179c545dec593c8.png](https://i-blog.csdnimg.cn/blog_migrate/d7cf0d74314402bfdc51a6edc8a5cec2.jpeg)
解决这个问题非常简单:
- step1: 输入"jupyter notebook --generate-config --allow-root"命令,在指定"/root/.jupyter/"路径下生成"jupyter_notebook_config.py"文件;
- step2: 使用vim编辑"jupyter_notebook_config.py"文件,修改"c.NotebookApp.allow_root =True",并将其注释删除;
![1f696601fbe4da782ff926396a9e490a.png](https://i-blog.csdnimg.cn/blog_migrate/8aab36a1a1c60b7cd948a02e8f9661b7.jpeg)
![dcc5fab92a3a67bfabb21e4eef85643b.png](https://i-blog.csdnimg.cn/blog_migrate/8d7f8461037b8b344047e261ce51918f.jpeg)
Step2:不弹出浏览器
在XShell中输入"jupyter notebook --no-browser",在不弹出浏览器的情况下启动jupyter notebook服务。
![c412f9be5fbd621a3e237352d2f47769.png](https://i-blog.csdnimg.cn/blog_migrate/9bbf1a9cf792f77bb98dd13ff5268a27.jpeg)
Step3: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地址即可。
![564f706cb4160bfd0bd857893d18f0f8.png](https://i-blog.csdnimg.cn/blog_migrate/826626c8a3d8db7d1331b3be1983e79e.jpeg)
查看在XShell中监听的jupyter notebook服务的地址,这里需要将完整的token也复制下来。
![275d6355fa7aae981e0409780513a8aa.png](https://i-blog.csdnimg.cn/blog_migrate/25b1cd3898c287c8317e61aaf65883cc.jpeg)
打开本地浏览器直接输入复制的完整地址即可访问Linux服务器中的jupyter notebook。
![cd9d9749bab69a914648254e9ad2cd75.png](https://i-blog.csdnimg.cn/blog_migrate/f945db9120555837ee31af4d7bfcac7e.jpeg)
下面是我的Linux服务器中的文件,通过对比印证了本地访问的是Linux服务器中的jupyter notebook。
![839f3f9f504780831ebda265b991081b.png](https://i-blog.csdnimg.cn/blog_migrate/9daac3d375eb3c692dec95d3de0fee57.jpeg)
欢迎关注我的公众号"AI机器学习与深度学习算法"