1. 环境

1.1 安装环境

RedHat 6.8

1.2 准备安装包

Anaconda3-5.2.0-Linux-x86_64.sh

2. 安装部署

以下使用root用户操作

2.1 添加jupyter用户组

groupadd jupyter
useradd -g jupyter jupyteradmin
passwd jupyteradmin

2.2 创建/jupyter目录

mkdir -p /jupyter/data/jupyteradmin  /jupyter/log
chown -R jupyteradmin:jupyter /jupyter
chmod -R 775 /jupyter

以下使用 jupyteradmin 用户操作

2.3 安装anaconda

利用jupyteradmin 用户执行安装:

bash Anaconda3-5.2.0-Linux-x86_64.sh

此时会打印许可条款,然后询问是否修改默认安装位置,如下图所示:

Anaconda3 will now be installed into this location:
/home/jupyteradmin/anaconda3- Press ENTER to confirm the location- Press CTRL-C to abort the installation- Or specify a different location below[/home/jupyteradmin/anaconda3] >>>

点击ENTER(不修改默认路径),开始安装。

安装到最后,询问是否将Anaconda3的安装位置加入/home/jupyteradmin/.bashrc文件中的PATH环境变量,选择yes,如下图所示:

Do you wish the installer to prepend the Anaconda3 install location to PATH in your /home/jupyteradmin/.bashrc ? [yes|no]
[no] >>> yes

安装完成之后,执行source命令,使.bashrc文件生效:

source .bashrc

2.4 验证anaconda是否安装成功

因为linux系统自带的python版本为 2.6.x,而我们安装的Anaconda-5.2.0 对应python版本为3.6.5,因此可以通过python的版本号来判断anaconda是否安装成功。

具体操作是:使用jupyteradmin 用户在命令行输入python -V ,如果输出为Python 3.6.5 :: Anaconda, Inc.,则说明Anaconda安装成功。如下图所示:

[jupyteradmin@localhost ~]$ python -V
Python 3.6.5 :: Anaconda, Inc.

另外,利用pip list 可以查看anaconda所集成的各种科学包及其版本号,其中包括 jupyter notebook相关包以及常见的python包。

[jupyteradmin@localhost ~]$ pip list
Package                            Version
---------------------------------- ---------
alabaster                          0.7.10
anaconda-client                    1.6.14
anaconda-navigator                 1.8.7
anaconda-project                   0.8.2
asn1crypto                         0.24.0
astroid                            1.6.3
astropy                            3.0.2
attrs                              18.1.0
Babel                              2.5.3
backcall                           0.1.0
backports.shutil-get-terminal-size 1.0.0
beautifulsoup4                     4.6.0
bitarray                           0.8.1
bkcharts                           0.2
blaze                              0.11.3
bleach                             2.1.3
bokeh                              0.12.16
boto                               2.48.0
Bottleneck                         1.2.1
## 未完

2.5 配置 jupyter notebook

  • 生成密钥

在python 命令行中输入下列命令:

>>> from notebook.auth import passwd
>>> passwd()
## 此时会提示输入两次密码,并生成密钥(包括 sha1: 字符串),复制该密钥。
>>> exit()

虽然passwd()函数可以直接传递字符串作为参数,比如passwd('mypassword'),但这样会将密码保存在输入历史记录中,缺乏安全性,因此不这样用。

  • 生成配置文件
 [jupyteradmin@localhost local]$ jupyter notebook --generate-config

此时会显示配置文件所在目录: /home/jupyteradmin/.jupyter/jupyter_notebook_config.py

  • 修改配置
[jupyteradmin@localhost local]$ vim /home/jupyteradmin/.jupyter/jupyter_notebook_config.py

文件末尾添加

c.NotebookApp.ip = '*' #notebook服务器监听的IP地址
c.NotebookApp.open_browser = False  # 禁止自动打开浏览器
c.NotebookApp.port = 8888  # 默认端口
c.NotebookApp.password = u'sha1:0505dc9375e3:3609ff1d0424417f7b363e00d55e713dea7bbfa0' # 复制的密钥
c.ContentsManager.root_dir = '/jupyter/data/jupyteradmin'  # jupyter notebook打开时显示的本地路径,即jupyteradmin的工作路径
c.PAMAuthenticator.encoding = 'utf8' #解决读取中文路径或者文件乱码的问题

注意:jupyter默认采用HTTP协议,对应web页面为‘ http://ip:port/ ’。

为了提高安全性,建议采用SSL加密通信,具体操作是:将SSL/TLS的证书文件和私钥文件的完整路径也添加到配置文件中。如下所示:

# The full path to an SSL/TLS certificate file.
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'# The full path to a private key file for usage with SSL/TLS.
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'

当使用SSL时,在浏览器端使用 'https://ip:port/ ’ 访问jupyter页面。

2.6 验证 jupyter notebook是否配置成功

在终端输入jupyter notebook命令:

[jupyteradmin@localhost ~]$ jupyter notebook

终端将显示一系列notebook的服务器信息 ,内容如下:

[jupyteradmin@localhost root]$ jupyter notebook
[I 14:26:07.618 NotebookApp] Writing notebook server cookie secret to /home/jupyteradmin/.local/share/jupyter/runtime/notebook_cookie_secret
[W 14:26:07.825 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 14:26:07.859 NotebookApp] JupyterLab beta preview extension loaded from /home/jupyteradmin/anaconda3/lib/python3.6/site-packages/jupyterlab
[I 14:26:07.859 NotebookApp] JupyterLab application directory is /home/jupyteradmin/anaconda3/share/jupyter/lab
[I 14:26:07.882 NotebookApp] Serving notebooks from local directory: /jupyter/data/jupyteradmin
[I 14:26:07.882 NotebookApp] 0 active kernels
[I 14:26:07.882 NotebookApp] The Jupyter Notebook is running at:
[I 14:26:07.882 NotebookApp] http://localhost.localdomain:8888/
[I 14:26:07.883 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

输出的信息(上述第8~9行)会显示:The Jupyter Notebook is running at: http://localhost.localdomain:8888/ 。在本地浏览器上登陆 http://ip:8888/(其中, ip 是运行jupyter notebook的服务器ip)即可访问 jupyter notebook工作空间。当使用SSL时,url头部为 https://

第一次登陆时需要输入密码,就是生成sha1密钥时输入的密码。

登陆成功之后,进入到 Jupyter主页面,展示内容应为 /jupyter/data/jupyteradmin(即ContentsManager.root_dir)路径下的文件列表。

点击页面右上方的”新建”(或new)>> “Python3”,会创建一个名为Untitled的文件,并自动打开该文件的编辑页面。

在第一个单元格中,输入print("hello jupyter!"), 再点击工具栏中的Run,单元格下方将输出 hello jupyter!

如果以上操作都顺利完成,则说明 jupyter配置无误。

友情提示:

为了让 Jupyter Notebook一直在后台运行,关了ssh 也不停止服务,可以使用nohup命令启动:

[jupyteradmin@localhost ~]$ nohup jupyter notebook &

2.8 其他说明

2.8.1 防火墙设置

为了提升安全性,运行jupyter notebook的服务器可以做如下防火墙配置:

  • 只允许特定IP客户端访问jupyter页面。

要想实现IP访问控制,需要配置防火墙规则,使得只有特定IP的客户机能够连接jupyter服务端口c.NotebookApp.port

假设c.NotebookApp.port=8888 ,只允许IP为192.168.141.96的客户机能够访问,则进行以下操作:

# 备份iptables,如果系统配置目录中没有防火墙配置文件,即/etc/sysconfig/iptables不存在,则跳过这一步;
cp /etc/sysconfig/iptables /var/tmp# 修改iptables
iptables -I INPUT -p TCP --dport 8888 -j DROP
iptables -I INPUT -s 192.168.141.96 -p TCP --dport 8888 -j ACCEPT# 保存iptables
service iptables save# 重启防火墙
service iptables restart
  • 允许127.0.0.1(本地主机)能够连接49152~65535的端口。

服务器使用这些端口与notebook内核通信,内核通信端口是由ZeroMQ随机选择的,每个内核可能需要多个连接,因此必须有大范围的可访问端口。

注:ZeroMQ是一个基于消息队列的多线程网络库,提供跨越多种传输协议的套接字。

2.8.2 密码重置

如果想要更改或重置密码,可以在终端输入jupyter notebook password,如下图:

$ jupyter notebook password
Enter password:  ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to ~/.jupyter/jupyter_notebook_config.json

这里将提示您输入两次密码(新密码),哈希后的密码被存储在jupyter_notebook_config.json中。

之后重启 jupyter notebook 服务器,在浏览器上访问 jupyter页面,就可以使用新密码登录了。

2.8.3 端口设置

如果在多个终端同时启动了Jupyter Notebook,默认端口“8888”已被占用,服务器会自动切换到端口 8889 上运行,如果8889被占用,则会切换到8890,以此类推…… 默认会尝试50个其他端口。

如果您想自定义端口号来启动 Jupyter Notebook,可以直接在终端中输入以下命令:

jupyter notebook --port <port_number>

其中,“<port_number>”是自定义端口号,直接以数字的形式写在命令当中,数字两边不加尖括号“<>”。如:jupyter notebook --port 9999

这种在命令行中进行的端口设置是临时的,要想永久修改,必须更改jupyter配置文件中的c.NotebookApp.port参数。

Jupyter离线安装部署相关推荐

  1. k8s各版本离线安装部署教程

    k8s各版本离线安装部署教程 文件名称 版本号 linux核心 docker版本 20.10.9 x86,amd64 k8s版本 v1.22.4 x86,amd64 kuboard v3 x86,am ...

  2. Docker离线安装部署

    卸载Docker(没有Docker就跳过) 一.准备工作 1.杀死docker有关的容器: docker kill $(docker ps -a -q) 2.删除所有docker容器: docker ...

  3. CentOS8离线安装部署ceph集群

    文章目录 1.概念简介 1.1 存储类型 1.1.1 DAS设备 1.1.2 NAS设备:文件服务 1.1.3 SAN设备:块服务 1.2 Ceph 架构简介 2.集群节点规划 3.准备工作 4.使用 ...

  4. Yapi 接口平台(Windows、Linux 在线离线安装部署)

    YApi 搭建 简介 YApi 由 YMFE开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护API 内网部署-YApi官网 环境要求 nodejs(7.6+ ...

  5. 初试Pulsar---私有云离线安装部署Pulsar

    前一段时间了解了Pulsar这个开源项目,感觉是一个替换kafka的好东西!它具体的特性各位自行搜索吧! 为了自己项目尝试使用Pulsar,我决定进行部署实验.但是,目前网上看到的都是在公网上公有云部 ...

  6. mysql客户端centos离线安装_mysql离线安装部署centos

    # 1. Mysql单机安装 前提:切换用户命令  su root ## 1.1 卸载系统自带的mysql ### 1.1.1查看已安装的mysql ``` [root@localhost ~]# r ...

  7. Kibana的离线安装部署

    一.简介  Kibana 是为 Elasticsearch 设计的开源分析和可视化平台.你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互.你可以很容易实 ...

  8. CDH 6.3.2 离线安装部署详细教程 (亲妈级别教学,有手就行)

    CDH6.3.2安装手册 更新文档见 https://gitee.com/baomili/bigdata-notes 最新最全 文章目录 @[toc] 参考博客 官网地址 1 下载CM和CDH 2 C ...

  9. Ansible一键离线安装部署

    一.Ansible简介 Ansible 是一个开源的基于 OpenSSH 的自动化配置管理工具.可以用它来配置系统.部署软件和编排更高级的 IT 任务,比如持续部署或零停机更新.Ansible 的主要 ...

最新文章

  1. 边界填充算法讲解_边界填充算法
  2. UVa 12167 HDU 2767 强连通分量 Proving Equivalences
  3. 深度学习(14)TensorFlow高阶操作三: 张量排序
  4. python中的 descriptor
  5. arm放弃服务器芯片,ARM溃败:Applied Micro拆分ARM架构服务器芯片业务
  6. IE9下透明度设置无效
  7. linux系统 安装hp驱动怎么安装,Ubuntu 8.04 下安装HP LaserJet 1020 打印机驱动程序步骤...
  8. c语言超市选址问题实验报告,单仓库设施选址决策方法(重心法,C语言代码)
  9. EXCEL中输入的数字无法正常显示变成科学计数法
  10. python读取加密word_Python-使用zipfile读取受密码保护的Word文档
  11. 关于Navicat Premium连接Oracle数据库闪退(失败)的解决办法(带ocl.dll)
  12. 伪蒙特卡洛(Quasi-Monte Carlo, QMC)随机
  13. 二维等离子体输运与反应动力学求解器PASSKEy中的数值和物理参数说明(附视频链接)
  14. 普华i-VirtualCloud应用案例之--国家海洋局北海分局
  15. VR系列——Oculus Audio sdk文档:三、Oculus对于Unity天然的声场定位技术(3)——空间定位的应用
  16. FZUOJ Problem 2178 礼品配送
  17. 文档在线翻译的方法介绍
  18. html5 style设置字体,初识HTML(5)+CSS(3)-2020升级版 - font-style:设置字体样式,3种
  19. 这部分布式事务开山之作,凭啥第一天预售就拿下当当新书榜No.1?
  20. 中兴服务器raid固件升级,IBM ServeRAID阵列卡BIOS Firmware软盘升级说明

热门文章

  1. 红米k30s至尊纪念版和华为p30pro哪个好
  2. 【工作】如何写好论文
  3. STM32系列(HAL库)——F103C8T6使用SPI方式点亮OLED
  4. 蓝桥杯题库 BASIC-3 字母图形
  5. sklearn数据降维之字典学习
  6. matlab工程数学实践,matlab高等工程数学作业实践报告
  7. 如何在 Java 应用程序中设置 HicariCP 连接池
  8. 第6课:郭盛华课程_VB编程之TextBox控件的使用方法
  9. 半天速成Python超简网站
  10. matlab数字音频处理实验报告,数字信号处理MATLAB实验1