目录

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

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

远程访问服务器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)

    https://i-blog.csdnimg.cn/blog_migrate/cbcc57da9239f20b465fbc06f05702db.png

基本步骤

服务器安装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

采用自定义端口和转发,解决此问题

https://i-blog.csdnimg.cn/blog_migrate/4d54fe343fc013d5394c728082cb6aa7.png

比如我用的本地端口是 8181,服务器设置的端口为 8989

那么在 cmd 中输入

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

之后再浏览器输入 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