1、远程访问jupyter notebook

Jupyter Notebook很好用,但是直接远程在服务器上用体验当然不如本地计算机好,那么如何远程访问呢?
首先需要在服务器上安装好ipython, jupyter notebook:
  ~$ pip install ipython
  ~$ pip install jupyter

生成配置文件 :
  ~$ jupyter notebook --generate-config

接着需要生成密码 :
首先打开ipython:
  ~$ ipython
然后创建一个密文密码:
  In [1]: from notebook.auth import passwd
  In [2]: passwd()
  Enter password:
  Verify password:
  Out[2]: 'sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274'
把生成的密文‘sha:ce…’复制下来

修改默认配置文件:
  ~$ vim ~/.jupyter/jupyter_notebook_config.py

进行如下修改:
  c.NotebookApp.ip='0.0.0.0'                     # 就是设置所有ip皆可访问
  c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
  c.NotebookApp.open_browser = False  # 禁止自动打开浏览器
  c.NotebookApp.port =8888                  #随便指定一个端口

启动jupyter notebook
  ~$ jupyter notebook
此时应该可以直接从本地浏览器直接访问http://address_of_remote:8888就可以看到jupyter的登陆界面。

注意:如果要修改jupyter notebook的密码,则用ipython重新生成一个密文,然后修改配置文件即可。

2、设为后台进程:

    上面的启动方式,会在当前目录生成一个日志文件,随着jupyter notebook的运行,日志文件会越来越大,如果不是很重要,可以设置不记录日志,方法是将所有的输出都重定向到/dev/null 2>&1 & .此外,上面的启动方式是启动一个前台进程,如果ssh连接断开,jupyter notebook也就失效了,所以需要将jupyter notebook作为一个后台进程启动,在linux中是nohup命令。

# 不启动ssl,不记录日志输出,作为后台进程启动jupyter notebook
  ~$  nohup jupyter notebook >/dev/null 2>&1 &

注意:在命令行中启动notebook时所在的当前目录就是notebook在浏览器中打开时的更目录,因此想要把哪个目录作为notebook的根目录,就要在对应的目录下运行启动命令。
jupyter notebook作为后台进程启动后,如果想要停止它,可以先找到进程ID,然后kill。

# 查看进程
  ~$ ps -ef | grep 'jupyter notebook'
# 输出如下,这里的21983即为进程id,
# xxxx   22136  21983  0 09:10 pts/1    00:00:00 grep jupyter notebook

# 杀死进程
  ~$  kill -9 21983
# 此时浏览器无法再连接jupyter notebook.

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐