由于最近在跑别人的实验,源码是用jupyter-notebook写的,实验跑的时间比较长,所以就想代码扔到实验室的服务器上,迫于无界面,所以采用本地浏览器访问服务器jupyter-notebook服务的方式来进行,记录一下配置过程:
1、安装
在终端使用sudo pip install jupyter notebook
2、配置
本来安装完jupyter notebook之后,就可以启动,但是启动之后给的token是localhost,无法进行远程访问,所以需要进行额外的配置:
a、在linux服务器上创建 ~/.jupyter/jupyter_notebook_config.py 配置文件,使用命令 jupyter notebook –generate-config –allow-root (由于我用的服务器为root用户,所以需要在后面注明–allow-root)
b、执行成功后,会出现以下信息:Writing default config to: /root/.jupyter/jupyter_notebook_config.py。这时我们可以用 ls -l查看是否存在.jupyter这样一个隐藏文件夹,存在即ok。
c、生成远程访问的密码:我这里使用的手动生成,在终端输入ipython打开ipython,执行以下内容:
1 | In[1]: from notebook.auth import passwd |
将’sha1:xxx….’这串密钥复制,执行quit退出ipython
d、修改配置文件:在终端执行 vim ~/.jupyter/jupyter_notebook_config.py,修改以下内容(该内容原本应该是被注释掉了,可以找到之后取消注释并修改,我就懒得找了,直接将以下内容复制进行保存)
1 | c.NotebookApp.ip='*' |
这里注意一点,对于ip这项,我刚开始写的*,最后开启服务的时候url给的是http://ubuntu:8887/,很明显出了错误,这个ip应该写成自己服务器的ip地址,然后保存。
3、启动jupyter notebook
修改完上述配置之后,在服务器上运行 jupyter-notebook –allwo-root开启服务即可(注意这里是jupyter-notebook不是jupyter notebook,中间是有连接的,这也是和mac terminal不同的地方)
4、远程连接
启动服务器上的jupyter,则可以使用 ip:port 的方式进行远程连接了,连接输入之前自己设置的密码即可。