本地使用服务器端运行的Jupyter Notebook

20180414更新:

 发现这东西完全可以像一个类似于windows下登录远程服务器的类似Xshell, Xftp一样的东西。

传文件、拷文件,terminal,妥了!!

爱上Jupyter 了!!!

===================================================================

主要参考 Monkey's Blog, 首先感谢原作者。

1. 服务器端安装Anaconda, 安装好jupyter notebook 等等

2.  生成配置文件

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

打开配置文件

vim ~/.jupyter/jupyter_notebook_config.py

添加进入几行:

c.NotebookApp.password = u'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXX'

刚刚3生成的密码序列。

c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
#9999是自己设置的,你也可以设成别的
c.NotebookApp.port = 9999
/absolute/path/to/your/certificate是指你存放mycert.pem和mykey.key的路径,执行第4步生成ssl的 当前路径,用pwd可以看

6. 在服务器上用 nohup 后台挂起运行jupyter

nohup jupyter notebook &
# 如果你装jupyter-lab的就打开jupyter-lab也行

7. 现在你可以在任何浏览器上输入:

https://XXX.XX.XXX:abcd
(假设你的服务器IP是XXX.XX.XXX,你前面第5步设置的port是abcd)

输入你前面自己设置的密码就可以访问服务器上jupyter了。


关于这个https访问的安全性问题,还需要高手进一步指导怎么提高安全性问题,欢迎留言讨论。

再次感谢原作者(http://qiuqingyu.cn/2017/05/15/在服务器端升级python并安装Jupyter/)。

猜你喜欢

转载自blog.csdn.net/Papageno_Xue/article/details/79710708