其实就是在服务器运行JupyterLab,然后在本地浏览器访问
服务器:Ubuntu 16.04
本机: windows 11
个人使用终端神器MobaXterm,创建SSH session后就可以远程登录服务器,有很多功能,在这里,windows下载的文件可直接拖拽至服务器上。
安装好后,主机名称前多了(base),如果想取消,有以下两种方法:
服务器安装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值。
或者
OSError: [Errno 99] Cannot assign requested address
采用自定义端口和转发,解决此问题
比如我用的本地端口是8181,服务器设置的端口为8989
那么在cmd中输入
ssh -N -f -L localhost:8181:localhost:8989 [email protected]
之后再浏览器输入localhost:8181,输入自己设定的密码就可以打开了
这里注意,连不上的话可能是默认端口22不对,需要在后面加上-p 端口号(很关键,之前没加一直连不上去,查了很多host啥的但最关键的加个-p xxxx就好了)
其实就是建立一个本地和远程服务器端口的连接,之后本地的cmd窗口就可以关掉了
就这么一行指令,完事,虽然短,但治根治本,希望下次不要再遇到类似的问题了,就算有也希望自己知道该怎么分析问题,改从什么地方入手去解决。
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