配置Jupyter Notebook服务器

最近在亚马逊的服务器上搭建了一个Jupyter远程服务,这里把相关的步骤记录一下

首先当然是升级系统apt update、dist-upgrade、clean操作完,检查Python版本

我这里的环境是

服务器信息:Linux ip-172-30-66-208 4.15.0-1021-aws #21-Ubuntu SMP Tue Aug 28 16:16:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux_
Python版本:3.6.6 (default, Apr 1 2018, 05:46:30) [GCC 8.0.1] on linux
PIP版本:pip 18.0 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
IPython版本:6.5.0

然后pip安装Jupyter

  1. 在Python中执行:
    from notebook.auth import passwd
    passwd()

    存储输出的密钥

  2. 执行jupyter notebook –generate-config,在.jupyter文件夹中生成设置文件
  3. 进入文件夹后,先留一份副本然后执行vi jupyter_notebook_config.py编辑设置文件
  4. 相关设置文件如下:
    c.Application.log_datefmt = '%Y-%m-%d %H:%M:%S'  # 日志时间格式
    c.Application.log_format = '[%(name)s]%(highlevel)s %(message)s'  # 日志格式
    c.Application.log_level = 50  # 日志级别:   0|无   10|调试   20|信息   30|警告   40|错误   50|关键
    c.NotebookApp.allow_origin = '*'  # 允许任何访问来源
    c.NotebookApp.allow_root = True  # 允许使用root权限运行
    c.NotebookApp.base_url = '/'  # 基本URL
    c.NotebookApp.certfile = '/home/ubuntu/notebooks/my.crt'  # SSL密钥地址
    c.NotebookApp.config_manager_class = 'notebook.services.config.manager.ConfigManager'  # 配置管理器类
    c.NotebookApp.contents_manager_class = 'notebook.services.contents.largefilemanager.LargeFileManager'  # 笔记本管理器类
    c.NotebookApp.default_url = '/tree'  # 重定向默认URL
    c.NotebookApp.enable_mathjax = True  # 是否使用MathJax渲染,MathJax是用来渲染LaTeX的一个javascript库
    c.NotebookApp.ip = '172.30.66.208'  # 笔记本的监听IP地址,此处应该为内网IP地址
    c.NotebookApp.keyfile = '/home/ubuntu/notebooks/my.key'  # SSL私钥地址
    c.NotebookApp.notebook_dir = '/home/ubuntu/notebooks/'  # 笔记本主文件夹地址
    c.NotebookApp.open_browser = False  # 笔记本启动后是否自动打开浏览器
    c.NotebookApp.password = 'sha1:e6g106bc823f:2130c6c05df57ed5b936dc9643fbaf40b0c70902'  # 用于验证身份的哈希密码
    c.NotebookApp.password_required = True  # 使用用户密码
    c.NotebookApp.port = 443  # 笔记本监听端口,这里使用443默认端口
    c.NotebookApp.port_retries = 0  # 如果端口被占用尝试其它端口的数量
    c.NotebookApp.webbrowser_open_new = 2  # 每次使用新新选项卡打开链接
    c.KernelManager.autorestart = True  # 内核自动重启
    c.KernelManager.shutdown_wait_time = 10.0  # 关闭等待时间
    c.ContentsManager.untitled_directory = 'new folder'  # 默认新建文件夹名称
    c.ContentsManager.untitled_file = 'new'  # 默认新建文件名称
    c.ContentsManager.untitled_notebook = 'new'  # 默认新建笔记本名称

    其它相关配置还有好多,但是在官网上都有详细的说明:Jupyter设置文档

  5. 执行sudo nohup sudo jupyter notebook > /home/ubuntu/notebooks/Helper/jupyter.log 2>&1 &使服务在后台运行