美文网首页胶水Python
服务器上搭建Jupyter Notebook服务

服务器上搭建Jupyter Notebook服务

作者: 爱折腾的大懒猪 | 来源:发表于2018-12-20 01:05 被阅读54次
    • 服务器上安装Jupyter
    • 配置具有密码的Jupyter Notebook

    服务器上安装Jupyter

    安装Jupyter其实很简单, sudo pip install ipython jupyter就可以了.

    但如果, 服务器像是Ubuntu 14.04这种老版本, 默认python版本最新只到2.7.6, 安装jupyter时可能报错因ssl的问题安装不了. 此时要更新Python2. 可以参考网上自行更新python的方法.

    更好的解决方案是使用conda安装新版本的python和相关需要的程序, 而不通过pip进行安装.

    1. 安装Miniconda2 : wget https://repo.anaconda.com/miniconda/Miniconda2-latest-Linux-x86_64.sh
    2. chmod +x Miniconda2-latest-Linux-x86_64.sh; ./Miniconda2-latest-Linux-x86_64.sh
    3. 提示安装目录, 随意, 可以默认. 最后提示是否把conda路径加入到.bashrcPATH, yes.
    4. conda install ipython jupyter

    安装好后, 可以运行jupyter notebook 进行测试(ctrl+c)退出.

    • 运行notebook可能报错:
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128)
      查看上面输出时还有一段中文: 这将启动一个基于tornado的HTML笔记本服务器,它提供一个html5/javascript笔记本客户端。 看来是编码的问题.
      可以在运行前加入语言更改, LANG=en jupyter notebook. 如果可以解决, 可以把export LANG=en_US.UTF-8写到.bashrc

    配置Jupyter Notebook密码

    1. 生成加密的密码: jupyter notebook password
    2. 改密码会保存在~/.jupyter/jupyter_notebook_config.json内, 是一个sha1加密的密码.
    3. 生成jupyter配置文件, jupyter notebook --generate-config, 会生成一个./.jupyter/jupyter_notebook_config.py文件. 内有各种参数和默认设置 (默认下全部注释掉). 修改部分重要参数
    4. nohup jupyter notebook >.jupyter/jupyter_notebook.log 2>&1 & 背景运行notebook, 也可以写入到启动文件哦.
    5. 可以用 tail -f .jupyter/jupyter_notebook.log追踪日志(前提有上面一句命令)
    6. 浏览器输入服务器ip:端口号, 输入密码, 即可远程登录notebook!
    7. 默认下不允许使用root来运行notebook, 安全隐患太大了! 如果硬要用root, 需要参数--allow-root.
    vi ~/.jupyter/jupyter_notebook_config.py
    #### 主要修改如下几个配置  
    ## 因为是要远程访问,这里把 IP 设置为服务器 IP或`0.0.0.0` ,默认是127.0.0.1或localhost, 这样无法远程访问的.  
    c.NotebookApp.ip='0.0.0.0'    
    ## 本地访问目录, 不设置的话就是启动命令所在的目录
    c.NotebookApp.notebook_dir = '$HOME/jupyter_data' 
    ## 是否需要自动弹出浏览器,服务器端一般不需要
    c.NotebookApp.open_browser = False    
    ## 服务的端口,默认8888, 一般为了安全用别的端口. 
    c.NotebookApp.port = 9999    
    
    • 默认没有登录密码,每次启动服务器后都会产生一个随机数token,可以使用该token进行登录到notebook. 配置了密码后就不用每次使用随机数token了
    • 如果没有使用前面的jupyter notebook password, 可以自己生成并设置密码.
    1. 运行ipython
    2. from notebook.auth import passwd;passwd(), 按提示输入密码.
    3. 获得一个sha1密码, 如'sha1:abcdefghijklmn1234567890'
    4. 更改配置文件里的c.NotebookApp.password = '', 将刚才的sha1密码输入进去.
    密码登录Notebook

    相关文章

      网友评论

        本文标题:服务器上搭建Jupyter Notebook服务

        本文链接:https://www.haomeiwen.com/subject/slcekqtx.html