如何在远程使用Jupter Notebook

前言

对于很多同学而言,做研究,尤其是做人工智能的研究,都需要一台很强大的电脑。但是现在可以跑起来的电脑往往耗资巨大。很多学校都是使用一台强大的服务器,然后给学生们提供一个账号,利用这个账号登陆进行处理。但是这就出现了一个问题。很多同学已经习惯了使用Jupyter Notebook来进行可视化处理,对于远程的Linux服务器,如何可以使用Jupter Notebook呢?这篇文章就简要的告诉你如何处理这样的问题。

教程

登陆服务器

首先需要 登陆你的远程Linux服务器

ssh <your_ip_address> -p <your_port>

并在内部建立一个jup文件夹,用来存放notebook文件

安装Jupyter Notebook

如果是使用的anaconda或者是miniconda,jupyter notebook已经安装好了。如果没有,需要在服务器端安装jupyter notebook

conda install jupyter Notebook

生成配置文件

安装好了Jupyter Notebook,就需要来生成配置文件。如果是第一次设置配置文件,需要先生成配置文件

jupyter notebook --generate-config

生成文件之后,需要设置密码。如果密码是123456,则应该操作为

>>> from notebook.auth import passwd
>>> passwd('123456')
'sha1:xxxxxxxxxxxxxxxxxxxxxxxx'

会返回一个sha1密码,然后用vim打开刚刚的配置文件(一般会在根目录/.jupyter/jupyter_notebook_config.py),在开头插入下列一些代码

c.NotebookApp.ip='0.0.0.0' # 广播给所有人
c.NotebookApp.password = u'<密码>' # <密码>就是之前的sha1:xxxxxxxxxxxx
c.NotebookApp.open_browser = False # 不打开浏览器
c.NotebookApp.port = 8050 # 使用8050作为跳转的接口

设置后台运行

成功设置之后,我们更需要Jupyter Notebook在后台运行。这样我们无论什么时候运行,只需要打开网页,我们就可以使用Jupyter Notebook了。这样更加方便。我们需要的指令就是nohup

cd <your_directory>
nohup jupyter notebook --no-browser --port 8050 --ip=<your ip> 2>&1 &

其中nohup的目的就是不挂断的运行程序。并且在最后我们使用&来保证在后台运行。我们开始jupyter notebook,不用浏览器,端口好设置为8050,ip地址设置为地址,2>&1中,&1表示文件描述符,也就是标准输出stdout,2则表示标准错误,也就是stderr。整个的意思就是将标准错误重定向到标准输出。由于nohup会自动生成一个nohup log记录活动。这样的指令可以使所有的错误和标准指令都保存在nohup内部

使用Jupyter Notebook

现在,打开任意浏览器,输入地址https://<your ip>:8050/,然后开始愉快的使用jupyter notebook吧


小技巧      远程 Jupyter Notebook

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

开发要求中的那些名词是什么 上一篇
2020 下一篇