服务器端jupyter notebook映射到本地浏览器的操作

服务器端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 的端口号或允许跨域访问的来源。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签