美文网首页
JupyterNotebook开启远程访问

JupyterNotebook开启远程访问

作者: ZHOUZAIHUI | 来源:发表于2019-12-31 10:59 被阅读0次

    JupyterNotebook在关闭SSH远程连接之后,JupyterNotebook所有服务将被关闭,而且默认是不开启远程客户端访问的。

    1 JupyterNotebook开启远程服务

    1.1 建立 JupyterNotebook配置文件

    JupyterNotebook默认配置文件为:~/.jupyter/jupyter_notebook_config.py,默认是不存在的,需要通过命令生成配置文件。

    # 非root用户
    jupyter notebook --generate-config
    
    # root用户
    jupyter notebook --generate-config --allow-root
    

    命令执行后,出现如下信息表明配置文件已经生成。

    Writing default config to: /home/zhou/.jupyter/jupyter_notebook_config.py
    

    1.2 生成 JupyterNotebook密码

    (1)从JupyterNotebook5.0开始,生成密码的命令:

    jupyter notebook password
    
    xxx@XXX:~$ jupyter notebook password
    Enter password: 
    Verify password: 
    [NotebookPasswordApp] Wrote hashed password to /home/zhou/.jupyter/jupyter_notebook_config.json
    

    生成的密码写入文件:jupyter_notebook_config.json。.
    (2)还可以利用命令行模式手动生成密码,在Python命令行中输入如下命令。

    from notebook.auth import passwd;
    passwd()
    
    Python 3.7.5 (default, Oct 25 2019, 15:51:11) 
    [GCC 7.3.0] :: Anaconda, Inc. on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from notebook.auth import passwd
    >>> passwd()
    Enter password: 
    Verify password: 
    'sha1:c3b2259c3408:7db3d3bfd334c5e29032720e947792925e4d28a6'
    

    手动生成的密码显示为sha1值。
    手动生成的密码需要修改jupyter_notebook_config.py文件中相应的选项。

    c.NotebookApp.password ='sha1:c3b2259c3408:7db3d3bfd334c5e29032720e947792925e4d28a6'
    # 取消这一行前面的注释符号(#)
    

    注意:jupyter_notebook_config.json生产的密码优先级要高于jupyter_notebook_config.py文件中手动设置的密码。根据具体情情况选使用哪种密码生成方式。

    (3) 设置远程连接IP、端口号等

    c.NotebookApp.ip='*'  # 允许任何ip访问
    c.NotebookApp.open_browser = False  # 默认不打开浏览器
    c.NotebookApp.port =8888  #可自行指定一个端口, 访问时使用该端口.
    # 取消每一行前面的注释符号(#)
    

    1.3 打开远程服务

    在服务器上启用jupyter notebook,root用户使用jupyter notebook --allow-root启用服务,使用 服务器IP:8888访问jupyternotebook

    xxx@XXX:~$ jupyter notebook
    [I 02:14:52.196 NotebookApp] Writing notebook server cookie secret to /home/zhou/.local/share/jupyter/runtime/notebook_cookie_secret
    [I 02:14:52.566 NotebookApp] Serving notebooks from local directory: /home/zhou
    [I 02:14:52.566 NotebookApp] The Jupyter Notebook is running at:
    [I 02:14:52.566 NotebookApp] http://localhost:8888/
    [I 02:14:52.566 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
    [W 02:14:52.574 NotebookApp] No web browser found: could not locate runnable browser.
    
    

    注意:利用jupyter notebook生成的服务在SSH连接关闭之后会自动关闭,如果需要在关闭SSH连接之后还能在后台运行,需要在运行jupyter notebook命令后面添加“&”,即jupyter notebook&

    1.4 映射JupyterNotebook远程8888端口为本机8888端口

    远程连接JupyterNotebook服务器需要每次输入远程服务器IP地址,映射为本地端口后会方便很多。
    在VmwareWorkstation中选择“编辑”-“虚拟网络编辑器”,在其中添加虚拟机中的端口号和本机端口号之间的映射。


    相关文章

      网友评论

          本文标题:JupyterNotebook开启远程访问

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