美文网首页
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