服务器端Jupyter Notebook映射到本地浏览器的操作
在进行数据分析和机器学习任务时,Jupyter Notebook 是一个非常强大和流行的工具。它提供了一个交互式的编程环境,可以让用户在浏览器中创建和共享文档,结合代码、文字和可视化结果。通常情况下,用户会在本地启动 Jupyter Notebook 服务器,并通过浏览器访问它。本文将介绍如何将服务器端的 Jupyter Notebook 映射到本地浏览器进行操作。
一、启动服务器端的 Jupyter Notebook
要将服务器端的 Jupyter Notebook 映射到本地浏览器,首先需要在服务器上启动 Jupyter Notebook 服务器。可以通过以下命令来启动服务器:
jupyter notebook --no-browser --port=8888
其中,--no-browser
表示不启动任何浏览器,--port=8888
指定 Jupyter Notebook 的端口号为 8888。
启动成功后,服务器会打印出一个类似于下面的输出:
[I 10:00:00.000 NotebookApp] The Jupyter Notebook is running at:
[I 10:00:00.000 NotebookApp] http://localhost:8888/
这说明 Jupyter Notebook 服务器已经在服务器的 localhost(本地主机)上的 8888 端口上运行。
二、配置服务器端的 Jupyter Notebook
要使服务器端的 Jupyter Notebook 可以被本地浏览器访问,需要对服务器进行一些配置。编辑服务器上的 Jupyter Notebook 配置文件 jupyter_notebook_config.py
,可以使用以下命令来编辑:
vim ~/.jupyter/jupyter_notebook_config.py
在配置文件中找到以下行,并进行如下修改:
# c.NotebookApp.allow_origin = ''
c.NotebookApp.allow_origin = '*'
将 c.NotebookApp.allow_origin
的值由默认的空字符串改为 '*'
,表示接受来自任意来源的跨域请求。这样就可以允许本地浏览器访问服务器上的 Jupyter Notebook。
修改完成后,保存并退出配置文件。
三、使用 SSH 隧道将服务器端映射到本地
为了将服务器端的 Jupyter Notebook 映射到本地浏览器,可以使用 SSH 隧道来实现。在本地终端中执行以下命令:
ssh -N -f -L localhost:8888:localhost:8888 username@server_ip
其中,username
是服务器的用户名,server_ip
是服务器的 IP 地址。执行该命令后,需要输入服务器的密码。
随后,在本地浏览器中输入以下 URL:
http://localhost:8888/
即可访问并操作服务器上的 Jupyter Notebook。
四、关闭服务器端的 Jupyter Notebook
当不再需要服务器端的 Jupyter Notebook 时,可以通过以下步骤关闭它。
首先,在本地终端中按下 Ctrl+C
组合键来停止 SSH 隧道:
^C
接着,回到服务器终端,按下 Ctrl+C
组合键来停止 Jupyter Notebook 服务器:
^C
关闭 Jupyter Notebook 服务器后,可以通过以下步骤来清理已经保留的 Jupyter Notebook 进程:
在服务器终端中执行以下命令,查找正在运行的 Jupyter Notebook 进程:
ps aux | grep jupyter
找到包含 jupyter notebook
的行,记下对应的进程 ID(PID)。然后使用以下命令杀死该进程:
kill -9 PID
以上步骤完成后,服务器端的 Jupyter Notebook 就被完全关闭了。
结语
通过以上步骤,我们可以将服务器端的 Jupyter Notebook 映射到本地浏览器,方便地进行数据分析和机器学习任务。在实际使用过程中,可以根据自己的需要调整相关配置,例如修改 Jupyter Notebook 的端口号或允许跨域访问的来源。