
LonghaoWang
2023/02/23阅读:27主题:嫩青
配置远程jupyter编程环境
前言
云存储和计算是发展趋势,相较于本地部署复杂的环境,不如在服务器上一键搞定。此外配置好的jupyter notebook环境还能在手机、平板、其他电脑上方便使用与查看。
可以在其它轻薄本、IPAD上甚至手机上写代码:

云服务器配置
首先需要一台自己的云服务器:
我的配置如下:
Ubuntu 20.04 64位 / 2核(vCPU) 4 GiB
本人用的阿里云,因为OSS存储也是使用阿里云,学生还有优惠:
https://www.aliyun.com/daily-act/ecs/activity_share?userCode=chmr87w8
安装jupyter notebook
首先远程连接(或者用你自己的连接方式,如WinSCP)

在Shell中输入以下代码,安装jupyter
pip3 install jupyter

生成配置文件:
jupyter notebook --generate-config
设置登陆密码
ipython
from notebook.auth import passwd
passwd()
输入两次密码后,生成对应密文
复制随后生成的密文,并记录
修改jupyter配置文件,一般在根目录(root)下的.jupyter文件夹下:
~/.jupyter/jupyter_notebook_config.py
修改jupyter_notebook_config.py文件:
vi ~/.jupyter/jupyter_notebook_config.py
在第二行插入以下内容:
c.NotebookApp.password
是刚才记录的密文
c.NotebookApp.notebook_dir
是默认的路径,一般用来存放代码等等
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
c.NotebookApp.allow_remote_access = True
c.NotebookApp.notebook_dir = '/usr/local/data'
方法是复制上述内容,按i进入编辑模式,复制上述修改后的内容,粘贴
按Esc退出编辑,输入:wq
保存并退出:
也可也在WinSCP中进行交互式修改:

给云服务器添加8888端口

启动jupyter:
jupyter notebook --allow-root
输入设置的密码即可进入:

后台运行
-
上述还存在问题,一旦关闭终端,Jupyter 程序也就终止了运行
-
解决方式是用&让命令后台运行, 并把标准输出写入jupyter.log中
-
nohup表示no hang up, 就是不挂起, 这个命令执行后即使终端退出, Jupyter也不会停止运行.
nohup jupyter notebook --allow-root > jupyter.log 2>&1 &

输出一个16183是PID号
这样在输入服务器IP:8888就可以远程登陆了,即使关掉终端


那么如果要关闭后台一直运行的程序:
查看所有进程
ps ux

需要结束运行就删除进程
以之前的PID为例:
kill -9 16183
作者介绍
