您的位置:首页 > 运维架构

Jupyter notebook 服务器端部署

2016-06-21 10:43 357 查看

背景

Jupyter notebook是由ipython notebook演变而来,jupyter notebook在数据分析时使用非常的方便,花了一晚上时间,详细看了下Jupyter notebook在服务器上的部署,下面详细介绍每一步。我是在centos7.1上部署的,不同的Linux发行版可能会有差异,详情请参考
官方
的安装指南。

更新Python 2.7.5 到Python 2.7.11

centos7.1 Python版本还是Python 2.7.5,版本太低,这里推荐安装Anaconda

下载Anaconda3-4.0.0-Linux-x86_64.sh

从官网现在Anaconda Linux版本,下载到本地

安装Anaconda

bash Anaconda3-4.0.0-Linux-x86_64.sh


安装过程需要选择安装路径,可以输入yes选择默认位置
root/anaconda2/


添加环境变量

/etc/profile
里添加:

export PATH=/root/anaconda2/bin:$PATH

测试是否安装成功

[root@biostacs ~]# python -V
Python 2.7.11 :: Anaconda custom (64-bit)


设置openssl

使用openssl生成验证文件

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem


设置过程中要输入国家,地区,机构,邮箱等信息,记住mycert.pem位置

设置密码

打开ipython , 设置密码

In [1]: from IPython.lib import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:7467b7351f12:79fc65998**************3003b87f3'


设置过程中要设置用于远程登录的密码,要记住
sha1
值,后面设置要用。


生成配置文件

终端输入:

[code]jupyter notebook --generate-config


以上将会在 ~/.jupyter/ 下创建默认config 文件: jupyter_notebook_config.py

修改配置文件

在 ~/.jupyter/ 下 jupyter_notebook_config.py里添加如下内容

# Configuration file for jupyter-notebook.
c = get_config()

# Kernel config
c.IPKernelApp.pylab = 'inline'

# Notebook config
c.NotebookApp.certfile = u'/mycert.pem'#你自己的mycert.pem位置
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:209f151dcd7f:a730a81fd00********3ec0a6aa31'#设置密码的时候生成的sha1
# It is a good idea to put it on a known, fixed port
c.NotebookApp.port = 8888# 设置未被使用的端口


配置.htaccess文件

为了让apache2能自然的访问到8888端口,我们配置下.htaccess文件。打开网站根目录下的.htaccess文件,添加下面的语句:

RewriteCond %{HTTP_HOST} ^ipython\.mythsman.com$ [NC]
RewriteCond %{REQUEST_URI} ^/(.*)$ [NC]
RewriteRule ^(.*)$ http://ipython.mythsman.com:8888/%1 [R=301,L]


没有.htaccess文件就自己新建一个,这就是个文本文件。

开放端口

修改iptables

修改/etc/sysconfig/iptables文件,增加如下一行:  

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT


重启 iptables

service iptables restart


远程登录Jupyter notebook

本地浏览器输入:

https:\\服务器ip:8888




输入前面设置的密码



参考资料

leafilab博客

mythsman博客

simonhaninmelbourne博客

AloneSword博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息