如何利用 Jupyter 从浏览器访问远程服务器
核心思想:
在远程服务器上启动 Jupyter 服务,然后通过 SSH 隧道将服务器的端口"映射"到你本地电脑上,最后在本地浏览器中访问
具体操作:
- 在你的环境中安装jupyter-lab
 
            
            
              bash
              
              
            
          
          pip install jupyterlab
        - 启动jupyter-lab服务
 
            
            
              bash
              
              
            
          
          nohup jupyter-lab --ip 0.0.0.0 --port 26829 --no-browser --NotebookApp.token=你的令牌 >jupyter.log 2>&1 &
        - nohup
作用:no hang up 的缩写
含义:让进程在用户退出登录后继续运行,不受挂断信号的影响
使用场景:在 SSH 连接到服务器时,即使关闭终端窗口,JupyterLab 服务也不会停止 - jupyter-lab
作用:要执行的主命令
含义:启动 JupyterLab 服务 - --ip 0.0.0.0
作用:指定监听的 IP 地址
含义:0.0.0.0 表示监听所有可用的网络接口
效果:允许从任何 IP 地址(包括本地和远程)访问 JupyterLab 服务 - --port 26829
作用:指定服务运行的端口号
含义:JupyterLab 将在 26829 端口上提供服务
注意:需要确保服务器的防火墙允许该端口的访问 - --no-browser
作用:禁止自动打开浏览器
含义:在服务器环境下通常没有图形界面,所以不需要尝试启动浏览器
使用场景:在无图形界面的服务器上运行时的必要参数 - --NotebookApp.token=你的令牌
作用:设置访问令牌(密码)
含义:
在浏览器中访问时需要输入此 token 进行身份验证
安全说明:使用简单 token 有一定安全风险,生产环境建议使用强密码 - jupyter.log
作用:重定向标准输出
含义:将程序的正常输出信息写入到 jupyter.log 文件中 - 2>&1
作用:重定向标准错误
含义:将错误输出也重定向到标准输出(即同一个日志文件)
分解:
2 表示标准错误流(stderr)
1 表示标准输出流(stdout)
&1 表示"与标准输出相同的位置" - &
作用:在后台运行
含义:让命令在后台执行,立即返回终端提示符,可以继续输入其他命令 
- 在浏览器访问
一般先查看日志文件,日志文件里面会告诉你是否启动成功(有时候会出现端口冲突就会启动失败),日志文件里面会出现下述访问格式: 
            
            
              bash
              
              
            
          
          http://127.0.0.1:26829/lab?token=...
        由于我们是浏览器访问远程服务器,不是本机启动本机访问,所以要将上述的ip地址改为你启动jupyter服务的服务器地址,token后面是前面你设置的令牌:
            
            
              bash
              
              
            
          
          http://服务器地址:26829/lab?token=...