[英]Connecting Jupyter notebook to Remote server
我有一个 linux 服务器。 我已经安装了 Miniconda3 和其他 python 软件包以及 Jupyter。
现在我想在服务器上运行笔记本并在我的浏览器中打开。
为此,在安装所有软件包后,我会:
user@remoteip:$ jupyter notebook --no-browser --port=8890
现在我正在复制服务器 IP 地址以及端口以在本地浏览器中打开它。
http://remoteip:8890
然而它并没有打开任何东西。
然后,我通过在远程服务器 anaconda 甚至本地 anaconda jupyter 配置文件的配置文件中添加所需的语句来遵循此 SO 答案中给出的所有建议。
但这根本没有帮助。
之后,我必须在本地终端中进行如下端口转发:
user@localhost: ssh -N -f -L localhost:8890:localhost:8890 user@remoteip
然后当我打开
localhost:8890
现在它打开需要输入令牌的笔记本,然后它就可以工作了。
我的问题是,我们是否需要每次都进行端口转发才能在远程服务器上打开笔记本? 我的一位同事说他没有进行任何端口转发,并且在第一步之后,他能够通过键入打开笔记本
所以我不确定我们是否需要进行端口转发才能打开服务器 jupyter notebook 以在浏览器中打开,或者我们可以直接使用 remoteip 地址打开笔记本?
编辑:
根据下面 Alex 的建议,在登录开发服务器后运行以下命令。
(ds_env) user@devvm1049:~$ jupyter notebook --no-mathjax --no-browser --ip 0.0.0.0 --port 8890
[I 23:49:56.032 NotebookApp] Serving notebooks from local directory: /home/user
[I 23:49:56.032 NotebookApp] The Jupyter Notebook is running at:
[I 23:49:56.032 NotebookApp] http://devvm.cdw.com:8890/
[I 23:49:56.032 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
将上述链接复制到 chrome 和 Safari 但它没有打开任何东西。
我已经在这篇文章中完成了上述建议。 到目前为止,唯一有效的方法是进行端口隧道,但每次必须在远程服务器上打开 jupyter 时都需要 3 个步骤。
这可能是一些端口阻塞问题吗? 我尝试在笔记本电脑上 ping 远程服务器,但它没有给我任何 ping。
如果在启动服务器时指定--ip
选项,则可以允许远程连接而无需端口转发。
jupyter notebook --no-mathjax --no-browser --ip 0.0.0.0 --port 8890
# The --no-mathjax improves loading over slow connections
但是,不建议这样做。 请参阅运行公共 jupyter 笔记本服务器。 如果您这样做,我强烈建议您设置密码,如该链接中所述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.