折腾了半天,为了能够方便学习TensorFlow,搞了远程的jupyter,方便在本地使用它,今天填了不少坑。

装完后截图:

 

下面是一些步骤:

 

检查 Python 环境

CentOS 7.2 中默认集成了 Python 2.7,可以通过下面命令检查 Python 版本:

python --version

安装 pip

pip 是一个 Python 包管理工具,我们使用 yum 命令来安装该工具:

yum -y install python-pip

使用下面命令升级 pip 到最新版本:

pip install --upgrade pip

安装相关依赖

安装 Jupyter 过程中还需要其他一些依赖,我们使用以下命令安装他们:

yum -y groupinstall "Development Tools"

yum -y install python-devel

配置虚拟环境

安装 virtualenv

 

我们将为 Jupyter 创建一个独立的虚拟环境,与系统自带的 Python 隔离开来。为此,先安装 virtualenv 库:

pip install virtualenv

创建虚拟环境

 

创建一个专门的虚拟环境,并直接激活进入该环境:

virtualenv venv

source venv/bin/activate

使用 pip 安装 Jupyter

我们使用 pip 命令安装 Jupyter:

pip install jupyter

配置 Jupyter Notebook

建立项目目录

我们先为 Jupyter 相关文件准备一个目录:

mkdir /data/jupyter

cd /data/jupyter

再建立一个目录作为 Jupyter 运行的根目录:

mkdir /data/jupyter/root

准备密码密文

由于我们将以需要密码验证的模式启动 Jupyter,所以我们要预先生成所需的密码对应的密文。

生成密文

 

使用下面的命令,创建一个密文的密码:

python -c "import IPython;print IPython.lib.passwd()"

执行后需要输入并确认密码,然后程序会返回一个 'sha1:...' 的密文,我们接下来将会用到它。

修改配置

生成配置文件

 

我们使用 --generate-config 来参数生成默认配置文件:

jupyter notebook --generate-config --allow-root

生成的配置文件在 /root/.jupyter/ 目录下,可以点此编辑配置。

修改配置

 

然后在配置文件最下方加入以下配置:

c.NotebookApp.ip = '*'

c.NotebookApp.allow_root = True

c.NotebookApp.open_browser = False

c.NotebookApp.port = 8888

c.NotebookApp.password = u'刚才生成的密文(sha:...)'

c.ContentsManager.root_dir = '/data/jupyter/root'

其中:

c.NotebookApp.password 请将上一步中密文填入此项,包括 sha: 部分。

你也可以直接配置或使用 Nginx 将服务代理到 80 或 443 端口。

启动 Jupyter Notebook

直接启动

使用以下指令启动 Jupyter Notebook:

jupyter notebook

此时,访问 http://服务器ip地址:8888 即可进入 Jupyter 首页。

创建 Notebook

后台运行

直接以 jupyter notebook 命令启动 Jupyter 的方式在连接断开时将会中断,所以我们需要让 Jupyter 服务在后台常驻。

先按下 Ctrl + C 并输入 y 停止 Jupyter 服务,然后执行以下命令:

nohup jupyter notebook > /data/jupyter/jupyter.log 2>&1 &

该命令将使得 Jupyter 在后台运行,并将日志写在 /data/jupyter/jupyter.log 文件中。

 

安装到最后我以为万事俱备了,谁知最后在浏览器上打开时却总是响应超时,最后找了半天原因竟是防火墙的问题。把8888端口加到防火墙文件中,再重启防火墙就可以正常打开了。。(这个可以直接百度到)