使用本地浏览器打开远程服务器上的Jupyter Notebook |
您所在的位置:网站首页 › 服务器的远程访问怎样打开 › 使用本地浏览器打开远程服务器上的Jupyter Notebook |
最近在github找到一些工程的代码都是.ipynb格式的文件,就好奇这个JupyterNotebook格式可以直接运行吗,还是需要另存成本地常见的格式,就查了一下,发现是可以的,这里记录一下。 主要思路: (假设你的服务器上已经安装好了Jupyter Notebook) 配置Jupyter notebook 1. 服务器端安装Anaconda, 安装好jupyter notebook 等等 2. 生成jupyter notebook配置文件 jupyter notebook --generate-config 3.配置密码打开python,输入指令: from notebook.auth import passwd passwd()输入自己想要设置的密码,之后会自动生成一个密码序列,复制下来。 4.配置密码生成ssl证书(最后用https登录) openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem 5.修改jupyter配置文件打开第2步生成的配置文件,一般是在~/.jupyter 打开配置文件: vi ~/.jupyter/jupyter_notebook_config.py对以下几行做如下修改: c.NotebookApp.password=u'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' // (注:XXXXXXXXXXXXXXXXXXXXXXX 为第3步中生成的密码序列) c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem' c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key' //(注:为第4步中生成的mycert.pem和mykey.key两个文件的绝对路径,可用pwd查看) c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8889 //自己可以设定成别的:wq!保存并退出 6. 在服务器上运行jupyter Notebook在服务器端打开监听端口: jupyter notebook --no-browser --port=8888 --ip=0.0.0.0 --allow-rootno-browser是指不在服务器上使用浏览器;port可以设置成任何空闲的端口号(上一步的配置文件中我把默认端口号8888改改为了8889,这里用8888依然可以);ip如果不设置为0.0.0.0我的服务器会报错:OSError: [Errno 99] Cannot assign requested addres。 或者,这一步还可以在服务器上用 nohup 后台挂起运行jupyter: nohup jupyter notebook &这里及以前参考的是[远程使用Jupyter]本地使用服务器端运行的Jupyter Notebook这篇文章。 7.本地和服务器端口映射在本地计算机上(我的是win10系统),将服务器端口映射到本地。使用cmd命令打开控制台,输入: ssh username@server_ip -L127.0.0.1:8000:127.0.0.1:8888username就是在服务器上开设的用户名,server_ip就是服务器的IP,至于“-L127.0.0.1”中为什么是127.0.0.1我也不太清楚,然后就是将本地的8000端口映射到服务器端的8888端口,也就是jupyter notebook使用的端口。 这里参考的是远程访问服务器端Jupyter notebook这篇文章。 8.本地浏览器打开服务器上的Jupyter Notebook下面就可以在本地的浏览器里输入https://127.0.0.1:8000,输入第3步中自己设置的密码,就可以打开服务器上的Jupyter Notebook了,开始使用吧! 【注】:文章远程访问服务器端Jupyter notebook中给出了另一种相近的使用本地浏览器打开服务器上Jupyter Notebook的方法。没有在一开始设定密码,而是在浏览器上进行访问时,在跳出的token界面直接输入token。(这让我忽然想起,动手学深度学习的视频中,李沐大神打开服务器上的jupyter notebook时,用的就是这个方法。。。啊,很多事,总是要在不同的情境下一二再,再而三的遇到以后,才会想起回过头来,将它们串联起来,从而有进一步的理解~从一个陌生人真正变成一个熟人) 【实现过程中我自己遇到的问题】之前配置完服务器上的JupyterNotebook之后,遇到过三个关键错误: ①第6步中,直接输入jupyter notebook --no-browser来运行Jupyter Notebook会报如下错误: ②完成第6步,在服务器上正确运行Jupyter Notebook后,没有正确执行第7步,即正确地将服务器端口映射到本地端口(主要是直接套用了这两篇2018-07-10 在本地使用服务器上的jupyter notebook打开.ipynb文件和服务器端jupyter notebook映射到本地浏览器参考文章中的映射指令,以及对该将那个ip和端口映射到哪个ip和端口不明) ③完成第7步,将服务器端口和本地端口映射成功后,打开本地浏览器输入ip地址127.0.0.1:8000,还是打不开服务器上的Jupyter Notebook,显示“连接重置错误 ERR_CONNECTION_RESET”。 参考了网页链接服务失败可能原因的文章(无法访问/404页面/SSL ERROR (总之就是连接不上)——问题与解决方案)后,找到了原因。 在本地浏览器地址栏中输入的ip应该是https://127.0.0.1:8000。因为在第3步中配置的密码,所以在访问时应该在ip地址前加入https,是https,要加上s哦,s!其实不该遇到这个问题的,因为第3步参考那篇文章中说到了这个问题,给出了正确访问的方式~主要是要怪自己的眼太大,竟然看不见这样一条赫然重要的提示(唉,也太粗心了,都对不起写那篇文章的博主) 【参考网址】 【1】Jupyter Notebook官网 【2】[远程使用Jupyter]本地使用服务器端运行的Jupyter Notebook 【3】2018-07-10 在本地使用服务器上的jupyter notebook打开.ipynb文件 【4】服务器端jupyter notebook映射到本地浏览器 【5】远程访问服务器端Jupyter notebook 【6】无法访问/404页面/SSL ERROR (总之就是连接不上)——问题与解决方案 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |