快速搭建远程JupyterLab/Jupyter Notebook服务

这台服务器是Ubuntu,不过根据我的体验,CentOS上也没有什么分别。

接下来我们需要保证我们已经安装了Python/Python3,同时已经安装了对应版本的JupyterLab/Jupyter Notebook,使用pip安装Jupyter系列非常方便。

pip3 install jupyter jupyterlab
安装完成之后,我们进入ipython中,来为我们的Jupyter服务配置密码:
$ ipython3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
Type "copyright", "credits" or "license" for more information.

IPython 2.4.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:-----------------------------------------------------------------'
上边的输出中,‘sha1:’开头的这一串我们需要复制下来,一会儿配置的时候需要使用。而我们输入的密码就是我们在浏览器中登
录Jupyter时需要输入的。

接下来我们生成Jupyter配置文件并使用vim打开:
 jupyter lab --generate-config
Writing default config to: /home/ubuntu/.jupyter/jupyter_notebook_config.

# ubuntu @ VM-0-16-ubuntu in ~ [20:04:59]
$ vim /home/ubuntu/.jupyter/jupyter_notebook_config.py

SSL加密配置

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mycert.pem -out mycert.pem
# 将ip设置为*,意味允许任何IP访问
c.NotebookApp.ip = '*'
# 这里的密码就是上边我们生成的那一串
c.NotebookApp.password = u'sha1:1e39d24dcd6c:b265321ca0c4cb798888bcb69b0024983a8ac439'
# 服务器上并没有浏览器可以供Jupyter打开
c.NotebookApp.open_browser = False
# 监听端口设置为8888或其他自己喜欢的端口
c.NotebookApp.port = 8888
c.NotebookApp.certfile = u'路径名/mycert.pem'
# 我们可以修改jupyter的工作目录,也可以保持原样不变,如果修改的话,要保证这一目录已存在
c.MappingKernelManager.root_dir = '/home/ubuntu/.jupyter_run/root'
# 允许远程访问
c.NotebookApp.allow_remote_access = True

好了,保存输入:wq退出vim。
接下来输入jupyter lab启动jupyter服务即可:

jupyter lab --allow-root

使用强大的screen命令。screen命令可以让我们开启大量的窗口,并灵活控制每个窗口的开启关闭、前台后台状态。那么接下来,我们使用screen命令将Jupyter服务放置在后台运行,这样的话,及时我们本地的电脑关闭了或者断开了与服务器的连接,我们搭建的Jupyter服务依然会正常运行
我们使用screen命令新开一个窗口,并命名为jupyter(或其他你喜欢的名字:

screen -S jupyter

接下来,我们在新开的窗口中打开Jupyter Lab:

jupyter lab --allow-root

程序运行起来之后,我们使用Ctrl + A + D的快捷键将这一窗口放入后台,并回到开启screen窗口之前的状态:

root@iZwz9at7nu2rprqr8qtn2oZ:~# screen -ls
There are screens on:
	1801.notebook	(05/30/2019 10:03:21 PM)	(Detached)
	1727.jupytername	(05/30/2019 09:53:12 PM)	(Detached)
2 Sockets in /var/run/screen/S-root.

想要返回我们刚才使用的screen窗口,可以这样:

screen -r    # 其后可以通过指定窗口名打开特定窗口,默认打开上一个使用的窗口

想闭关一些窗口的话,按如下操作:

root@iZwz9at7nu2rprqr8qtn2oZ:~# screen -X -S 1801 quit
root@iZwz9at7nu2rprqr8qtn2oZ:~# screen -X -S 1727 quit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值