文章目录

  • 基本介绍
  • 安装
    • 方法一:通过 anaconda 安装
    • 方法二:通过 pip 安装
    • 安装验证
  • Jupyter 的配置
  • 配置 Nginx 代理
  • 设置 Jupyter Notebook 的开机自启动
  • 参考文档

基本介绍

这是一个笔记本软件/文本编辑器,其次它有一系列的功能,使得它非常适合写作科学类的文章。
约等于 Python 交互式命令行 + markdown,结合 numpy、plotly.py 等科学计算相关的库,实现类似 matlab 的效果。

安装

方法一:通过 anaconda 安装

这是一个开源的 Python 发行版本,其包含了conda、Python等180多个科学包及其依赖项,当然也包含了 Jupyter notebook。
在其 官网 上提供了 Mac、Linux、Windows 在内的多个系统的安装包。

方法二:通过 pip 安装

如果 Jupyter 部署服务器上,所以安装 anaconda 并不见得方便。那么可以使用 pip 来安装

pip install jupyter

安装验证

命令行输入

jupyter notebook

你可能会看到类似这样的提示

[I 09:38:52.280 NotebookApp] The Jupyter Notebook is running at:
[I 09:38:52.280 NotebookApp] http://localhost:8888/
[I 09:38:52.280 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

根据这里的提示,访问对应的网址即可对 Jupyter 进行简单的使用。

Jupyter 的配置

完成了安装后,你可能需要根据自己的需求进行一些配置,首先你需要生成配置文件

jupyter notebook --generate-config
# 这条指令会在 ~/.jupyter 下生成一个配置文件 jupyter_notebook_config.py

几个重要的配置项包括:

# TCP/IP 相关配置
## 授权
c.NotebookApp.allow_origin = '*' # 设置访问的允许来源,* 表示接受所有来源
c.NotebookApp.allow_remote_access = False # 是否支持远程访问
## HTTPS,但是建议通过 Nginx 或 Apache 进行代理,而不通过 Jupyter 直接处理 HTTPS 请求
c.NotebookApp.certfile = '' # 证书文件路径
c.NotebookApp.client_ca = '' # 公钥证书路径
c.NotebookApp.keyfile = '' # 私钥文件路径
## 地址设置
c.NotebookApp.ip = 'localhost' # 监听的 IP 地址
c.NotebookApp.port = 8888 # 监听的地址
c.NotebookApp.custom_display_url = '' # 显示的域名# 本地文件配置
c.ContentsManager.untitled_notebook = '未命名' # 新建笔记本的默认名称
c.NotebookApp.notebook_dir = '/Users/antony/Notes' # 设置笔记本文件保存的路径# 密码配置
c.NotebookApp.password = 'sha1:c05fe7fe7152:12cf0fe1c689112cc3451d1b13700af3fafadc1f'
# 设置访问密码,格式为 type:salt:hashed-password,可以通过 from notebook.auth import passwd; passwd() 来生成
c.NotebookApp.token = '<generated>' # 用于首次登陆 Jupyter 服务时进行校验的密码,默认是一个自动生成的字符串,在 Jupyter 运行时打印的信息中可以看到

配置 Nginx 代理

我的做法是 Jupyter Notebook 在本地运行,可以通过 localhost 来进行访问,再通过 Nginx 将 https 请求进行代理转发。
在配置 Nginx 之前,请在 Jupyer Notebook 的配置文件中,将 allow_origin 做相应调整,最简单的就是改为 *

upstream notebook {server localhost:8888;
}server {# 监听 7123 端口,支持 SSL,当然也可以不支持 SSLlisten 7123 ssl;# 监听 7124 端口,使用 http 协议listen 7124;# 如果要支持 SSL,需要配置相关的证书、密钥文件地址ssl_certificate     /etc/nginx/cert/certificate.crt;ssl_certificate_key /etc/nginx/cert/private.key;# 设置 Headeradd_header Strict-Transport-Security max-age=15768000;# 设置基础地址访问location / {proxy_pass            http://notebook;proxy_set_header      Host $host;}# 设置相关接口请求,需要增加对 websocket 的支持,增加相关 headerlocation ~ /api/kernels/ {proxy_pass            http://notebook;proxy_set_header      Host $host;# websocket 支持proxy_http_version    1.1;proxy_set_header      Upgrade "websocket";proxy_set_header      Connection "Upgrade";proxy_read_timeout    86400;}# 设置终端接口请求,需要增加对 websocket 的支持location ~ /terminals/ {proxy_pass            http://notebook;proxy_set_header      Host $host;# websocket 支持proxy_http_version    1.1;proxy_set_header      Upgrade "websocket";proxy_set_header      Connection "Upgrade";proxy_read_timeout    86400;}
}

设置 Jupyter Notebook 的开机自启动

这里以 Ubuntu 系统为例,新增 /etc/systemd/system/jupyter.service 文件

[Unit]Description=Jupyter Notebook
[Service]Type=simpleExecStart=/path/to/jupyter notebook --no-browser# 需要将 /path/to 替换成 jupyter 的安装路径# 建议在 Jupyter 的配置文件中,将 NotebookApp.token 修改为一个固定值User=你的用户名Group=用户群组WorkingDirectory=你的 home 目录
[Install]WantedBy=multi-user.target

启用这个服务

sudo systemctl start jupyter
sudo systemctl enable jupyter

参考文档

  1. Jupyter Notebook and Nginx Setup
  2. A systemd script for user to run a jupyter notebook as daemon

Juypter Notebook 的安装、配置、部署相关推荐

  1. Jenkins详细安装配置部署--超详细

    Jenkins详细安装配置部署--超详细 一.什么是CI/CD 二.Gitlab内置持续集成 持续集成(CI) 持续交付(CD) 2.1 Gitlab的CI/CD优势 2.2 Gitlab的CI/CD ...

  2. mysql hive 安装 配置_hive 安装配置部署与测试

    系统初始化 mysql5.6 的安装配置 hive 的安装配置处理 一: 系统环境初始化 1.1 系统环境: CentOS6.4x64 安装好的hadoop伪分布环境 所需软件包: apache-hi ...

  3. CentOS Docker安装配置部署Golang web helloworld

    目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...

  4. Linux puppet的安装配置部署

    一.puppet简介 puppet是一个为实现数据中心自动化管理而设计的配置管理软件,能够管理IT基础设施的整个生命周期:供应(provisioning)配置(configuration).联动(or ...

  5. Jenkins详细安装配置部署

    目录 一.安装jdk 二.安装jenkins 三.安装git 四.安装maven 五.Jenkins全局工具配置 六.SSH插件安装 七.SSH传输服务器设置 八.页面配置发布工程 九.目标发布服务器 ...

  6. windows下OpenCV的安装配置部署详细教程

    零.简介 OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库.OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以 ...

  7. Roller5.0.3安装配置部署 step by step

    一.下载roller 下载地址:http://roller.apache.org/downloads/downloads.html 下载下来之后,解压包含两部份doc.webapps 二.准备环境 1 ...

  8. 普罗米修斯(Prometheus)安装配置部署

    一.基础环境 环境/组件 版本 操作系统 CentOS Linux release 7.6.1810 Prometheus prometheus-2.22.1.linux-amd64.tar.gz g ...

  9. 【Opencv3学习笔记 1】OpenCV的安装配置部署详细步骤(window + vs2019)

    什么是Opencv? OpenCV(开源的计算机视觉处理工具)是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Ma ...

  10. linux cdn服务器,wdcdn系统,CDN缓存系统,CDN加速系统,多节点CDN自架系统,CDN安装配置部署--Linux解决方案,技术支持与培训,服务器架构,性能优化,负载均衡,集群分流...

    WDCDN缓存加速管理系统,CDN软件,CDN管理平台,CDN解决方案 wdCDN是一套基于squid架构开发的CDN缓存加速系统及管理系统,高效,稳定,安全. 可帮助大中小站长或大中小企业低成本,快 ...

最新文章

  1. linux debian硬盘安装,硬盘安装linux debian如何配置grub文件
  2. shell 遍历目录下的所有文件
  3. 程序员跳槽全攻略pdf
  4. 制作启动U盘与定制多系统启动
  5. 用JS写了一个模拟串行加法器
  6. 转帖:DotNet 资源大全中文版
  7. 用java编写一个故事的程序_使用Java怎么编写一个递归程序
  8. scala下载新的版本号
  9. win8 性能测试软件,win8系统优化软件评测
  10. 【C++】图片转byte
  11. Map和String互相转换
  12. vue 图片显示失败 显示默认图片
  13. 【计组】主存储器有关知识梳理
  14. CSS如何设置html table表格边框样式
  15. 2021年福建省安全员A证(主要负责人)考试内容及福建省安全员A证(主要负责人)模拟试题
  16. 我模拟了一个机器人后,对分层思想的更多感受
  17. 成了!刚刚登顶全球首富的他,花440亿美元将推特买下 | 美通社头条
  18. 原来代码可以写成爱情故事
  19. 2022年亚马逊AWS认证考试及学习路径
  20. 《程序员的自我修养》(陈逸鹤)读书笔记

热门文章

  1. CSS效率---常用CSS框架
  2. CAD 关于打断和合并对象
  3. 在python中如何读写txt文本文档
  4. illustrator插件开发向导--基础入门(二)--插件定义--PiPL资源--插件管理--插件入口和消息--加载和卸载--启动和关闭
  5. 简单的爬图片代码(python)
  6. 5028: 小Z的加油店2257: [Jsoi2009]瓶子和燃料
  7. 有趣的深度学习——使用 BERT 实现一个古体诗生成器
  8. RHCE(一、二)nmcli命令学习、Linux例行性工作命令atd和crond学习
  9. U盘启动盘制作工具哪个好用_U盘PE系统哪个纯净干净无捆绑?
  10. 提醒我 做学问要刨根究底