• 远程访问服务器JupyterLab的配置方法



    其实就是在服务器运行JupyterLab,然后在本地浏览器访问

    环境及工具

    服务器:Ubuntu 16.04
    本机: windows 11
    个人使用终端神器MobaXterm,创建SSH session后就可以远程登录服务器,有很多功能,在这里,windows下载的文件可直接拖拽至服务器上。

    注意

    安装好后,主机名称前多了(base),如果想取消,有以下两种方法:

    • 一次性取消
      进入终端后输入conda deactivate 退出虚拟环境
    • 永久取消
      ① 输入vim ~/.bashrc
      ② 然后将下图中,除export PATH="/root/anaconda3/bin:$PATH"一行外的其他行都加#注释掉,按Esc,输入:wq回车保存退出,再次进入终端后就不会有(base)
      在这里插入图片描述

    基本步骤

    服务器安装JupyterLab
    这里推荐直接安装Anaconda,安装好后可以通过命令jupyter lab打开测试一下。

    conda install -c conda-forge jupyterlab -y
    
    • 1

    生成密码

    $ python
    Python 3.7.3 (default, Mar 27 2019, 22:11:17)
    [GCC 7.3.0] :: Anaconda, Inc. on linux
    Type “help”, “copyright”, “credits” or “license” for more information.

    >>> from notebook.auth import passwd
    >>> passwd()
    Enter password:
    Verify password:
    'sha1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    
    • 1
    • 2
    • 3
    • 4
    • 5

    此处的密码可由自己随意设定

    生成并修改配置文件

    3.1 生成配置文件

    jupyter notebook --generate-config
    
    • 1

    3.2 修改配置文件

    $ vim ~/.jupyter/jupyter_notebook_config.py  # ~为自己的路径
    Writing default config to: /YourHomePath/.jupyter/jupyter_notebook_config.
    
    • 1
    • 2

    做修改如下:

    允许远程访问
    不使用本地浏览器打开
    允许所有IP访问
    配置密码(这个非必要,之后会解释)

    c.NotebookApp.allow_remote_access = True
    c.NotebookApp.open_browser = False
    c.NotebookApp.ip='*'
    c.NotebookApp.password = 'sha1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    
    c.NotebookApp.allow_root = True
    c.NotebookApp.port = 8989
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    保存并退出后,通过命令jupyter lab打开,此时系统会提示如下(此时配置了上文提到的密码c.NotebookApp.password):

    在浏览器输入ip:8989,按要求输入密码即可。

    如果之前没有配置c.NotebookApp.password,打开jupyterlab后会提示如下:

    在浏览器输入ip:8989,会提示如下界面,需要输入给出的token值。

    错误:jupyter localhost 已拒绝连接

    或者

    OSError: [Errno 99] Cannot assign requested address
    
    • 1

    采用自定义端口和转发,解决此问题
    在这里插入图片描述
    比如我用的本地端口是8181,服务器设置的端口为8989
    那么在cmd中输入

    ssh -N -f -L localhost:8181:localhost:8989 root@10.2.151.232
    
    • 1

    之后再浏览器输入localhost:8181,输入自己设定的密码就可以打开了

    这里注意,连不上的话可能是默认端口22不对,需要在后面加上-p 端口号(很关键,之前没加一直连不上去,查了很多host啥的但最关键的加个-p xxxx就好了)

    其实就是建立一个本地和远程服务器端口的连接,之后本地的cmd窗口就可以关掉了

    就这么一行指令,完事,虽然短,但治根治本,希望下次不要再遇到类似的问题了,就算有也希望自己知道该怎么分析问题,改从什么地方入手去解决。

    后台运行jupyter

    nohup jupyter lab > jupyter.log 2>&1 &
    
    • 1

    后台关闭

    ps -a
    kill -9 PID
    
    • 1
    • 2

    ————————————————
    版权声明:本文为CSDN博主「啊啊啊狗哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/GouGe_CSDN/article/details/104567559

  • 相关阅读:
    时间复杂度吐血总结
    面试算法题(shell/日志数据查询统计)
    ES6 入门教程 6 正则的扩展 6.13 d 修饰符:正则匹配索引 & 6.14 String.prototype.matchAll()
    哈希表简介
    Linux常见操作命令(1)
    【广州华锐互动】VR虚拟现实技术应用于新兵作战体验的优势
    uniapp学习笔记之知识点大总结
    ubuntu 安装 k8s 记录 2 初始化
    python基础练习 序列求和
    MyVector 的实现
  • 原文地址:https://blog.csdn.net/weixin_42785537/article/details/132708618