![5b3b1ff2d71f50f5258b9a3c0896639c.png](https://i-blog.csdnimg.cn/blog_migrate/41c21c1114f7709d57a94d2c17ed22ae.jpeg)
❝ jupyter notebook是数据工作者常用的工具,具有优秀的交互式数据分析体验。在linux centos7服务器上搭建jupyter notebook服务,通过网页访问的形式使用,不仅能使用到服务器的计算资源,也能更方便进行数据分析。
❞
1 环境
- linux centos7
- python 3.7
2 安装jupyter
所有操作在root
权限下进行。安装jupyter之前,确保服务器中已安装好了python3。本服务器的python3的安装路径为usr/lib/python3.7/
。
安装jupyter模块:
pip install jupyter
安装需要一段时间,等待即可。
3 添加环境变量
把jupyter的安装路径添加到系统环境变量中。
vi /etc/profile
按i
进入编辑模式,输入:
export PATH=$PATH:/usr/lib/python3.7/bin/
注意后面的路径为实际jupyter的安装路径。
esc
退出编辑模式,:wq
保存修改。
再重新加载配置文件,使之立即生效。
source /etc/profile
4 设置登录密码
安装ipython
模块。
pip install ipython
终端输入ipython
进入ipython界面,输入以下进行密码设置:
from notebook.auth import passwd
passwd()
按照提示两次输入密码,次密码为之后登录jupyter的密码。同时,设置完成后,会自动生成一个hash串(sha1:xxxxx),复制下来,后面配置文件需要。
输入exit()
退出ipython。
exit()
5 修改配置文件
终端输入命令:
jupyter-notebook --generate-config --allow-root
然后会生成配置文件,地址为:./.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 = 9820
# 工作目录
c.NotebookApp.notebook_dir = '/jupyter/'
# 启动Jupyter Notebook之后是否打开浏览器
c.NotebookApp.open_browser = False
# 客户端打开Jupyter Notebook的密码哈希值
c.NotebookApp.password = 'sha1:7e9d8d4722c3:aa0a16fcf06b44ecbf208a3172af65f4d57163da'
其中:
- ip设置为0.0.0.0,可以保证局域网内其他用户访问;
- 端口设置为9820,默认为8888,也可以为其他,但要保不发生端口占用;
- 工作目录自定义设置,含义为jupyter noteboo启动时的默认工作目录;
- 密码哈希值为设置登录密码时自动生成的。
6 项目启动
项目启动有两种方式:
- 直接启动
终端输入命令:
jupyter-notebook --allow-root
该方式的好处是可以在终端实时查看jupyter界面操作,即日子实时打印的功能。缺点是终端退出,服务就终止了。
- 后台启动
终端输入命令:
nohup jupyter notebook --allow-root > /jupyter/jupyter.log 2>&1 &
「解释:」
nohup
表示no hang up,不挂起,命令执行后即使终端退出,服务也不会停止。- 并指定日志文件路径为
/jupyter/jupyter.log
。
两种方式任选其一,运行jupyter服务,然后在浏览器通过ip+port的形式访问jupyter notebook。输入设置的密码,登录即可。
![0d6325cd64cef6075411d04288d75129.png](https://i-blog.csdnimg.cn/blog_migrate/c91ccae2891c8f4ab46c857999614fec.png)