CentOS云端安装JupyterNotebook

Posted 10knet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS云端安装JupyterNotebook相关的知识,希望对你有一定的参考价值。

在阿里云的CentOS云服务器上安装完整版的Anaconda,并启动Jupyter Notebook,从而能够在任何电脑上远程登录服务器编写Python代码或Markdown文章。零基础,只需了解阿里云服务器基本操作。

安装Anaconda

从命令行窗口登录到你的服务器,MacOS用终端,Win10用cmd。

先使用下面的命令安装bzip2

sudo yum instlal bzip2

有教程要求先执行sudo yum update,但我不建议这么做。如果你后面遇到问题的话再使用这个命令。

因为Python和Jupyter Notebook以及数百个工具包都包括在Anaconda软件中,所以我们一步到位,直接安装Anaconda。

然后打开Anaconda官网,查看最新的Anconda版本。

wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh

文件包比较大,稍等几分钟。

下载完成之后,执行下面的命令进行安装。

bash Anaconda3-2020.11-Linux-x86_64.sh

所有安装提示都确认,输入yes或回车,直到结束。

安装成功之后执行下面的命令刷新。

source ~/.bashrc

然后使用下面的命令检查是否已经成功,正常应该出现版本号数字。

conda --version

配置config.py

执行下面的命令,生成Notebook的配置文件。

jupyter notebook --generate-config

使用SFTP软件工具登录到你的服务器,MacOS用transmit,Win10用WinSCP。

在SFTP软件中直接右键打开/root/.jupyter/jupyter_notebook_config.py文件,打开后找到并进行修改如下。

c.NotebookApp.allow_origin = 'http://www.10knet.com/'

允许使用root权限:

c.NotebookApp.allow_root = True

默认打开的文件目录,以后所有文章代码都放这里,非中文任意目录:

c.NotebookApp.notebook_dir = '/notebook/'

启动时候不要打开浏览器(服务器上没有浏览器):

c.NotebookApp.open_browser = False

远程打开网页时候使用的默认端口(默认8888):

c.NotebookApp.port = 8885

启动Notebook

需要在阿里云官网的控制台中找到ECS服务器实例,然后【配置安全组规则】,添加上面设置的8885端口。

你可以复制一个现有的规则进行修改,结果如下图。

CentOS云端安装JupyterNotebook

使用下面的命令启动Notebook程序。

jupyter notebook

在浏览器中打开你上面设置的网址加端口,例如http://www.10knet.com:8885,会提示你用令牌token来设置新密码。

如果密码设置失败,也可以在命令行中用jupyter notebook password进行设置。

设置密码成功后,就可以从浏览器进入Jupyter Notebook的文件管理页面,可以正常创建文件和编码了。

这时候如果你关闭命令行窗口,浏览器内的页面也将运行失败。

安装插件

我们需要为浏览器内的Notebook编码提供更多功能,比如代码自动完成、代码自动格式化等,所以要装插件。

在命令行窗口用Ctrl+C两次结束当前的Notebook程序,然后输入下面的命令运行。

conda install -c conda-forge jupyter_contrib_nbextensions

稍等几分钟,成功之后再次运行Notebook,这次我们使用后台模式,即使关闭命令窗口后浏览器内也可以照常使用。

nohup jupyter notebook &

运行之后在浏览器内刷新Notebook的文件浏览页面,会出现新的Nbextensions菜单,如下所示。

点击计入,去掉顶部的disable configuration ...勾选,然后增加勾选下面的工具。

Hinterland 自动替代码提示,输入Python代码时候自动弹出提示框。

Code prettify 自动代码格式化,编码页面会出现一个小锤子,点击格式化当前代码。

关闭Notebook

如果你需要重启Notebook,就必须先关闭当前在后台运行的Notebook。

先使用下面命令查看正在运行的程序。

jupyter notebook list

如果它返回了http...,就说明有Notebook正在运行,然后使用下面命令查找它的运行ID。

netstat -tulpn

运行结果类似下图:

从列出的程序中找到端口为8885程序对应的数字,如上图的2221,然后使用下面的命令终止它。

kill 2221

自动开机启动

使用SFTP软件登录到阿里云服务器,找到/etc/rc.d/rc.local文件并打开,添加下面内容:

# 启动jupyternotebook
sleep 30s
nohup jupyter notebook &

这是特别延迟30秒之后再启动Notebook,如果你的服务器没有安装其他功能,那么可以把它设置更少。

PS:这个安装方法只支持单个账号个人使用,如果需要多人共同使用的话需要安装JupyterHub(百人以上团队)或者The Littlest JupyterHub(百人以内团队),都需要更加强劲的服务器配置。


END


以上是关于CentOS云端安装JupyterNotebook的主要内容,如果未能解决你的问题,请参考以下文章

在CentOS7上部署Python开发工具Jupyter Notebook的遭遇

云端yum源

Tensorflow 训练模型在云端机器上工作,但在我的本地电脑上使用时出错

CentOS---安装JDK(yum安装)无需配置环境变量

centos8部署可道云服务

在服务器搭建Jupyter notebook