最近618大促,新入手一台入门级服务器用于自己平时玩耍,系统是ubuntu18.04,但是没有图形界面的服务器一定程度上确实不够友好,于是想到部署一个jupyter notebook 既可以跑跑不能关闭的脚本,又可以通过远程浏览器访问得到一个图形化界面。使用jupyter notebook创建新的terminal,同样可以实现使用命令行操作ubuntu系统。好吧,在没有正常把jupyter跑起来以前,还是乖乖使用服务器原生的界面吧,原生界面长这样:
还是强调一下需要准备的设备和工具:
1. 安装jupyter notebook
无论是官网下载还是镜像库下载,总之下载一个安装包到本地,出于速度考虑,还是更推荐镜像库下载。安装包有多个版本,取最新的即可,本文的安装包文件类型下载的是linux系统的shell脚本文件。
# 查看当前目录
pwd
# 查看当前目录文件
ls
# 以下两种下载方式选择一种即可
# 下载链接1-官网下载:
wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
# 下载链接2-镜像库下载
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.02-Linux-x86_64.sh
# 安装anaconda
bash Anaconda3-2020.02-Linux-x86_64.sh
安装过程中会有需要人工确认的选项,一路yes即可。
2. 配置环境变量
anaconda在安装时已经将路径写到了环境变量中,现在需要手动重新编译一下环境变量文件使修改生效:
source ~/.bashrc
判断是否安装完成,可以在命令行输入python,或ipython,或jupyter notebook,前者显示如下截图字段,或后两者可以正常启动,则说明安装完成。
如不能正常启动,则有可能是环境变量未添加,需要自己手动添加环境变量:
sudo vim ~/.bashrc
在文件的末尾添加安装的anaconda目录中bin目录的路径:
# 根据自己的实际安装位置填写
export PATH=/root/anaconda3/bin:$PATH
再重新执行一遍编译命令:
source ~/.bashrc
验证是否安装成功的方式与上文相同,这里不再赘述。
1. 生成配置文件
jupyter notebook --generate-config
执行后会输出一个执行文件路径,记住这个路径,我的是/root/.jupyter/jupyter_notebook_config.py
2. 设置密码并生成sha1秘钥
在终端中打开ipython编辑器或python编辑器,我使用的是颜值高的ipython:
ipython
在ipython编辑环境中输入以下代码后,会让输两遍密码,回车后输出sha1秘钥。这个密码即为之后远程访问jupyter notebook时,需要输入的密码,秘钥需要写入配置文件中。因为是服务器环境,无法复制粘贴,我没有找到好的办法,直接拍了个照片对着敲出来的,如果有大神有更好的办法还请赐教。
from notebook.autu import passwd
passwd()
3. 生成SSL证书
由于jupyter远程访问使用的是http协议,所以需要生成SSL安全证书
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
运行后在当前目录下会生成两个文件:mykey.key和mycert.pem。
4. 配置jupyter notebook的配置文件
找到之前记录的配置文件路径并使用vim编辑器编辑:
sudo vim /root/.jupyter/jupyter_notebook_config.py
在文件的末尾添加如下内容,保存后退出:
c.NotebookApp.ip = '*'
c.NotebookApp.port = 8888
c.NotebookApp.open_browser = False
# 此处填写上面生成的sha1秘钥
c.NotebookApp.password = u'sha1:***'
c.NotebookApp.certfile = u'/root/mycert.pem'
c.NotebookApp.keyfile = u'/root/mykey.key'
1. 将jupyter notebook跑起来
直接使用jupyter notebook启动貌似会报错,根据提示添加上–allow-root即可
jupyter notebook --allow-root
2. 使用电脑浏览器远程访问
在服务器的控制台找到服务器的公网IP,在浏览器端输入IP:8888/tree即可成功访问,可以看出它的默认路径就是配置时的用户路径
3. 使用智能手机远程访问
不仅电脑端可以访问,手机端也可以随时访问,在手机浏览器中输入IP:8888/tree,也可以访问到服务器的用户路径:
现在已经可以使用jupyter notebook远程登录服务器,终于不用对着原生界面发呆了。为了稍微实现一下服务器的价值,我打算回头搞几个脚本上去跑一跑。具体操作且等下回分解咯。。。
anaconda安装与jupyter配置
anaconda安装与jupyter配置
vim基本操作