云服务器配置 jupyter notebook 远程访问
本文默认大家已经会用ssh连接服务器。
1. 首要条件,安装Anaconda3
本文默认大家已经安装好了Anaconda3,如果没有的话请根据这里快速安装过一下,已安装好的请跳过这个步骤:
去清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
笔者以2020.11版本为例子:
下载
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Linux-x86_64.sh
安装
bash Anaconda3-2020.11-Linux-x86_64.sh
一路同意
Do you accept the license terms? [yes|no]
[no] >>>
Please answer 'yes' or 'no':
>>> yes
之后要选择安装目录,如果无需更改直接回车Enter,如需更改要输入绝对路径:
Anaconda3 will now be installed into this location:
/root/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/root/anaconda3] >>>
看到以下提示则安装成功:
Thank you for installing Anaconda3!
===========================================================================
Anaconda and JetBrains are working together to bring you Anaconda-powered
environments tightly integrated in the PyCharm IDE.
PyCharm for Anaconda is available at:
https://www.anaconda.com/pycharm
如果conda的初始化时选择了yes,那么已经配置了环境变量,输入简单的命令测试一下:
conda activate # 进入conda环境 出现(base)则说明安装成功
conda deactivate # 退出conda环境
2. 激活环境
conda activate # 进入conda环境 出现(base)则说明安装成功
3. 检查需要安装的包
pip install jupyter
pip install ipython
4. 添加环境变量
把jupyter的安装路径添加到系统环境变量中。
vi /etc/profile
按i
进入编辑模式,输入:
export PATH=$PATH:/usr/lib/python3.8/bin/
按 esc
,然后输入 :wq
保存并退出
再重新加载配置文件,使之立即生效
source /etc/profile
5. 设置登陆密码
终端输入ipython进入ipython界面,输入以下进行密码设置:
from notebook.auth import passwd
passwd()
按照提示两次输入密码,次密码为之后登录jupyter的密码。同时,设置完成后,会自动生成一个hash串,复制下来,后面配置文件需要。
然后输入exit()退出
6. 修改配置中心
终端输入命令:
jupyter-notebook --generate-config --allow-root
然后会生成配置文件,地址为:./.jupyter/jupyter_notebook_config.py
编辑配置文件,加入下面的内容:
然后会生成配置文件,地址为:./.jupyter/jupyter_notebook_config.py
编辑配置文件,加入下面的内容:
# Nginx访问时会出现跨域访问,需要在这里允许
c.NotebookApp.allow_origin = '*'
# 禁止随意修改密码
c.NotebookApp.allow_password_change = False
# 是否允许远程访问
c.NotebookApp.allow_remote_access = True
# IP
c.NotebookApp.ip = '0.0.0.0'
# 端口
c.NotebookApp.port = 8889
# 工作目录
c.NotebookApp.notebook_dir = '/jupyter/'
# 启动Jupyter Notebook之后是否打开浏览器
c.NotebookApp.open_browser = False
# 客户端打开Jupyter Notebook的密码哈希值
c.NotebookApp.password = '*(刚刚复制的密码)'
其中:
ip设置为0.0.0.0,可以保证局域网内其他用户访问;
端口设置为9998,默认为8888,也可以为其他,但要保不发生端口占用;
工作目录自定义设置,含义为jupyter noteboo启动时的默认工作目录;
密码哈希值为设置登录密码时自动生成的。
7、项目启动
项目启动有两种方式:
- 直接启动
终端输入命令:
jupyter-notebook --allow-root
该方式的好处是可以在终端实时查看jupyter界面操作,即日子实时打印的功能。缺点是终端退出,服务就终止了。
- 后台启动
终端输入命令:
nohup jupyter notebook --allow-root > jupyter.log 2>&1 &