搭建Jupyter-Notebook服务器
在自己的云服务器上搭建Jupyter-Notebook服务器有以下几个好处:
- 充分利用云服务器的计算和存储资源
- 统一代码环境和数据集(在不同终端机器上构建的环境是可能不一致的)
- 能够随时随地访问(只要ECS还没过期&你的机器能上网)
1 环境搭建
1.1 安装Python
虽然阿里云的Ubuntu 18.04 云服务器是自带python2.7和python3.6的,但我还是选择安装miniconda3(官网),理由如下:
- anaconda便于管理多版本且隔离的python环境(除此以外virtualenv和pyvenv也可,但管理方式不如conda)
- miniconda比anaconda轻量,它仅包含conda和python和少量依赖包与软件包
1 | |
完成miniconda3的安装之后,需要使用update-alternatives配置多版本Python的优先级,将conda的python3.8设为默认python:
1 | |
1.2 安装Jupyter
在命令行中输入python -V和pip -V 确认能够看到正在使用miniconda3的python和pip
1 | |
2 配置Jupyter-Notebook
2.1 配置登陆密码
为了保障远程访问云服务器Jupyter服务的安全性,我们需要为notebook设定密码。(该密码会在登陆Jupyter服务时要求用户输入,若与服务器上存储的hash值匹配则放行)
以下是借助IPython.lib中的passwd函数来生成密码的sha1 code:
1 | |
2.2 生成配置文件
1 | |
由于该配置文档的所有内容均默认注释,因此可以把我们自己的配置集中追加到文尾:
1 | |
注意:notebook_dir即为notebook的/,因此为了保证安全性,请将notebook的工作目录设为非重要目录,如你可以创建一个~/jupyter-projects
完成配置之后可以启动notebook并访问啦:
1 | |
注意:记得在云服务器控制台的安全组中配置规则放行notebook监听的8888端口
2.3 撰写systemd服务脚本
将以下内容写入/usr/lib/systemd/system/notebook.service,若目录不存在则手动创建
1 | |
然后配置notebook.service自启动
1 | |
3 主题美化⭐
3.1 安装jupyter-themes
1 | |
3.2 配置主题
jupyter-themes有以下几条关键命令,具体Usage请见其git仓库的README:
1 | |
其中参数含义依次为设置主题为monokai,设置代码字体为roboto,设置代码字号为12,设置notebook字号为14,设置文本/Markdown字号为13,设置输出字号为11,设置Pandas Dataframe字号为10,设置cell宽度为屏幕的66%,设置Toolbar可见,设置Name&Logo可见以及设置Kernel Logo可见
具体界面效果如下(当然,passwd我为了测试,输入的是123):

4 参考
[1] Ming’s Blog | 搭建 ipython/jupyter notebook 服务器
- Title: 搭建Jupyter-Notebook服务器
- Author: Zhiyu
- Created at : 2020-06-02 16:39:01
- Updated at : 2026-02-18 00:46:04
- Link: https://qgrain.github.io/2020/06/02/搭建Jupyter-Notebook服务器/
- License: This work is licensed under CC BY-NC-SA 4.0.