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

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

    • 环境及工具
      • 注意
    • 基本步骤
      • 生成密码
      • 生成并修改配置文件
      • *错误:jupyter localhost 已拒绝连接*
      • 后台运行jupyter
      • 后台关闭


其实就是在服务器运行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的配置方法_第1张图片

基本步骤

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

conda install -c conda-forge jupyterlab -y

生成密码

$ 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'

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

生成并修改配置文件

3.1 生成配置文件

jupyter notebook --generate-config

3.2 修改配置文件

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

做修改如下:

允许远程访问
不使用本地浏览器打开
允许所有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

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

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

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

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

错误:jupyter localhost 已拒绝连接

或者

OSError: [Errno 99] Cannot assign requested address

采用自定义端口和转发,解决此问题
远程访问服务器JupyterLab的配置方法_第2张图片
比如我用的本地端口是8181,服务器设置的端口为8989
那么在cmd中输入

ssh -N -f -L localhost:8181:localhost:8989 [email protected]

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

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

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

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

后台运行jupyter

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

后台关闭

ps -a
kill -9 PID

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

你可能感兴趣的:(服务器)