如何在服务器部署Jupyter Notebook工具实现多用户同时使用
多用户访问Jupyter Notebook数据分析工具的部署方案
针对你的需求,推荐两个简单易操作、适合非IT背景的方案,都能实现多用户通过浏览器访问,后端运行Notebook并生成HTML报告:
方案一:JupyterHub(官方多用户Jupyter解决方案)
这是最贴合你现有Notebook使用习惯的方案,用户登录后直接操作Notebook,和本地使用体验一致:
- 服务器准备:选一台基础款云服务器(比如阿里云ECS、腾讯云CVM),系统镜像选Ubuntu 20.04/22.04,服务商一般会提供网页终端直接登录服务器,不用装额外工具。
- 安装依赖:在服务器终端依次输入以下命令:
# 更新系统软件 sudo apt update && sudo apt install python3-pip python3-dev npm -y # 安装JupyterHub和Notebook sudo pip3 install jupyterhub notebook # 安装代理工具 sudo npm install -g configurable-http-proxy - 创建用户:给每个需要访问的队友创建系统用户,命令为
sudo adduser 队友用户名,按提示设置密码即可。 - 启动服务:
# 前台启动(测试用) sudo jupyterhub --ip 0.0.0.0 --port 80 # 后台持久运行(正式用,关闭终端也不影响) nohup sudo jupyterhub --ip 0.0.0.0 --port 80 & - 用户操作:队友在浏览器输入服务器公网IP,用你创建的用户名密码登录,打开你的数据分析Notebook运行,完成后通过「文件」→「下载为」→「HTML」导出报告;也可以在Notebook里添加自动导出代码,运行后直接生成HTML文件:
from subprocess import call # 替换成你的Notebook文件名 call(['jupyter', 'nbconvert', '--to', 'html', 'data_analysis.ipynb'])
方案二:Mercury(Notebook转Web App工具)
如果你希望隐藏代码,给用户更简洁的操作界面,Mercury是合适的选择,支持直接生成可下载的HTML报告:
- 安装Mercury:服务器终端输入
pip install mercury - 配置Notebook:在你的数据分析Notebook最开头添加配置块(用Markdown格式),控制界面和功能:
--- title: 数据分析报告生成工具 description: 上传数据、运行分析后下载HTML报告 show-code: False # 隐藏代码,只展示交互界面 download: True # 允许用户下载HTML报告 --- - 启动服务:
# 前台启动测试 mercury run --host 0.0.0.0 --port 80 # 后台持久运行 nohup mercury run --host 0.0.0.0 --port 80 & - 用户操作:浏览器输入服务器IP,直接打开工具界面(如果需要登录验证,启动时加
--auth-password 你的密码),按提示操作完成分析后,直接下载生成的HTML报告。
非IT背景小贴士
- 服务器的80端口一般默认开放,若使用其他端口,需在服务器控制台的「安全组」设置里添加对应端口的访问规则。
- 命令输入错误不用慌,重新输入正确命令即可,不会损坏服务器。
- 定期把你的Notebook文件下载备份到本地,避免服务器故障导致数据丢失。
内容的提问来源于stack exchange,提问作者Rathan
相关产品推荐
相关产品推荐

