目录
通过本地浏览器访问远程服务器的JupyterLab/Jupyter Notebook
本文以AWS为例展示如何设置使用本地浏览器访问远程服务器的JupyterLab/Jupyter Notebook。
方法一:SSH端口映射
首先通过SSH连接远程服务器:
ssh username@remote_server_ip
然后启动JupyterLab/Jupyter Notebook:
jupyter lab
jupyter notebook
重新打开一个终端输入:
ssh -L8888:localhost:8888 username@remote_server_ip
在本地浏览器打开:http://localhost:8888
方法二:通过公网IP+端口访问
设置AWS的安全组
首先按照下图为该实例的安全组添加入站规则,这样才可以从外网访问指定端口。这里设置的是允许从任意IP访问任意端口。

配置JupyterLab/Jupyter Notebook
注意以下命令为JupyterLab和Jupyter Notebook通用,不可将jupyter notebook更换为jupyte lab。
生成配置文件和密码文件
首先通过SSH连接远程服务器:
ssh username@remote_server_ip
# 生成配置文件
jupyter notebook --generate-config
# 生成密码文件,注意根据提示设置一个密码,该密码与生成的密钥对应,后续会用到
jupyter notebook password
查看并复制秘钥
# 查看并复制文件中的秘钥
cat .jupyter/jupyter_notebook_config.json
编辑配置文件
vi .jupyter/jupyter_notebook_config.py
修改以下4项,在更靠近文件尾部的位置:
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = 'sha1:******'
c.NotebookApp.port = 8888
启动JupyterLab/Jupyter Notebook
启动JupyterLab/Jupyter Notebook后,在本地浏览器输入实例公网IP:8888,输入设置的密码进入。

总结
本文讨论了两种方法实现通过本地浏览器访问远程服务器的JupyerLab/Jupyter Notebook。两种方法都需要保持SSH的正常连接,方法一甚至需要保证两个连接均正常。但是实际开发中,由于网络不稳定等原因,经常会出现断连,导致Jupyter断开。
client_loop: send disconnect: Broken pipe
下篇文章将讨论这个问题的解决方法。
本文介绍了两种方法通过本地浏览器访问AWS上的远程服务器JupyterLab/Jupyter Notebook:1) SSH端口映射,2) 公网IP+端口访问。详细步骤包括设置AWS安全组,配置Jupyter,生成密码文件等。注意网络稳定性可能影响连接。
3585

被折叠的 条评论
为什么被折叠?



