交互式笔记Jupyter Notebook本地部署并实现公网远程访问内网服务器

阿里云服务器

要在本地部署 Jupyter Notebook 并实现公网远程访问内网服务器,你可以遵循以下步骤:

1. 安装 Jupyter Notebook

首先,确保你的本地机器上安装了 Jupyter Notebook。你可以使用 pip(Python 包管理器)来安装:

```bash

pip install notebook

```

或者,如果你使用的是 Anaconda,Jupyter Notebook 通常已经预装了。

2. 启动 Jupyter Notebook

在终端或命令提示符中,输入以下命令来启动 Jupyter Notebook:

```bash

jupyter notebook

```

这会启动一个 web 服务器,并在默认浏览器中打开一个界面,显示当前工作目录中的文件和文件夹。同时,终端会显示一个 URL,形如 `http://localhost:8888/`,这是 Jupyter Notebook 的本地访问地址。

3. 配置 Jupyter Notebook 以允许远程访问

默认情况下,Jupyter Notebook 只允许从本地机器访问。要允许远程访问,你需要生成一个配置文件并修改其中的一些设置。

首先,生成配置文件:

```bash

jupyter notebook --generate-config

```

这会生成一个名为 `jupyter_notebook_config.py` 的配置文件,通常位于你的用户主目录下的 `.jupyter` 文件夹中。

然后,编辑该配置文件,允许所有 IP 地址访问:


```python

在配置文件中找到以下行并取消注释(去掉行首的 #)

c.NotebookApp.allow_origin = '*'


添加以下行,允许所有 IP 地址访问

c.NotebookApp.ip = '*'


如果你希望使用密码进行身份验证,可以设置密码

c.NotebookApp.password = u'sha1:your_encrypted_password'

你可以使用 jupyter notebook password 命令生成加密密码

```

保存文件后,重启 Jupyter Notebook。

 4. 配置防火墙和路由器以允许外部访问

如果你的计算机连接到一个网络,该网络使用防火墙或路由器来限制外部访问,你需要配置它们以允许外部流量通过 Jupyter Notebook 使用的端口(默认是 8888)。

防火墙:如果你使用的是 Linux,可以使用 `ufw` 或 `iptables` 来允许流量。例如,使用 `ufw` 允许 8888 端口:

```bash

sudo ufw allow 8888/tcp

```

路由器:如果你的计算机连接到家庭网络,你可能需要登录到路由器的管理界面,并设置端口转发,将外部访问的 8888 端口转发到你的计算机上。

5. 获取公网 IP 地址

使用 `ifconfig`(Linux)或 `ipconfig`(Windows)命令查看你的公网 IP 地址。你也可以在浏览器中访问一个显示你公网 IP 地址的网站,如 `ifconfig.me` 或 `myexternalip.com/raw`。

6. 访问远程 Jupyter Notebook

现在,你应该可以使用公网 IP 地址和 Jupyter Notebook 的端口号(默认是 8888)来远程访问你的 Jupyter Notebook 了。在浏览器中打开 `http://<your_public_ip>:8888/`,其中 `<your_public_ip>` 是你的公网 IP 地址。

注意:允许远程访问 Jupyter Notebook 会增加安全风险。确保你使用强密码,并定期更新密码。同时,考虑使用 VPN 或 SSH 隧道等更安全的远程访问方法。如果你不需要远程访问,最好关闭 Jupyter Notebook 的远程访问功能。