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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Papageno_Xue/article/details/79710708

20180414更新:

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

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

爱上Jupyter 了!!!

官方链接:https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security

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

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

主要思路:

  • 安装Jupyter notebook
  • 配置文件
  • 设置密码
  • 生成ssl证书
  • 给配置文件添加ssl密钥和自己的设置的登录密码
  • 后台运行挂起
  • Enjoy Jupyter-lab.

 

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/)。

官方链接:https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security

展开阅读全文

没有更多推荐了,返回首页