jupyter notebook远程访问设置
1.安装
conda activate abc #激活虚拟环境[不在虚拟环境中可以省略此步骤]
pip install jupyter #安装
jupyter notebook --generate-config #生成配置文件
备注:配置文件的所在路径一般为 ~/.jupyter/jupyter_notebook_config.py
注意:如果之前安装过,可能会提示你是否要重置配置文件,建议不要!(输入n)例如本机上重置可能会导致jupyter notebook无法正常在浏览器打开
2. 生成密文
from IPython.lib import passwd
passwd()
展示:
3. 修改配置文件
vim ~/.jupyter/jupyter_notebook_config.py
- 修改内容如下
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:xxxxxxxxxxx(上一步生成的密文)'
c.NotebookApp.port = 8080 #随便指定一个闲置端口
c.NotebookApp.open_browser = False #禁止自动打开浏览器
c.NotebookApp.allow_remote_access = True #远程访问
c.NotebookApp.allow_root = True
4. 远程映射端口之后再进行登录
- 命令如下:
ssh -f -N -L 8888:localhost:8080 houxiaojun@xx.xx.xx.xx -p 2022
- 说明: 8888为映射到本地的端口号, 8080为远程服务器上启动的jupyter的端口号, xx.xx.xx.xx为远程服务器的ip, -p表示ssh链接时使用的端口号, 默认为22, 这里可以自己设置[2022端口]
5. 远程登录
- 远程服务器启动jupyter, 命令如下
jupyter notebook /home/houxiaojun/houxiaojun --allow-root
- 本地浏览器使用命令
http://localhost:8888/tree
说明: 登录的使用需要使用密码, 这里的密码就是前面你自己设置的密码, 输入即可登录.
上面过程中显示的可以远程登录jupyter, 但是如果某一天服务器崩了, 下次开机后如果可以自动启动那就更好了, 下面就是这种启动的自动启动过程
设置开机自动启动脚本
1.前提是安装了jupyter notebook
2. 编写启动jupyter notebook 的脚本文件 start-jupyter.sh, 我这里的位置是:/home/houxiaojun/houxiaojun/anaconda3/script, 内容如下:
nohup jupyter notebook /home/houxiaojun/houxiaojun --allow-root > jupyter.log 2>&1 &
说明: 这条命令式后台启动jupyter notebook
/home/houxiaojun/houxiaojun: 这个是启动jupyter之后展示的根目录.nohup和最后的&表示是后台启动.
3. 编辑完文件后就开始设置这个文件开机自启动了
- 进入到本地用户目录autostart中
- 进入命令cd ~/.config/autostart
- 然后新建一个后缀为.desktop的文件,然后vim编辑文件,内容例如:
[Desktop Entry]
Type=Application #类型是应用程序
Exec=/home/houxiaojun/houxiaojun/anaconda3/script/start-jupyter.sh #输入你要自启动的.sh文件的绝对路径
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=jupyter #名字(任意写)
Name=jupyter #名字(任意写)
Comment[en_US]=notebook #任意写
Comment=notebook #任意写
说明: 编写脚本的时候记得将后面的注释删除
编写完成之后, 重新启动看看jupyter能否启动吧.