Linux运维笔记
我们一直在努力

搭建Jupyter Notebook进行机器/深度学习

今天帮一位小伙伴搭建了Jupyter Notbook,正好近期自己也在学习python,所以就稍微了解了下。

用对方的话来说这个就是python的网页版ide,用来写机器学习和深度学习的ide。很多图可以直接显示出来,特别适合数据挖掘。好吧~那我也简单搭建了下这个Jupyter服务器,另外加Nginx反向代理。

第一部分:搭建Jupyter Notebook

1、安装Anaconda.Anaconda集成了大量的第三方pyhton库


wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh
bash Anaconda3-4.4.0-Linux-x86_64.sh

如果希望安装其他版本的库,可以从这里下载:https://www.continuum.io/downloads#linux

 

[root@JD ~]# bash Anaconda3-4.4.0-Linux-x86_64.sh
Welcome to Anaconda3 4.4.0 (by Continuum Analytics, Inc.)
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue             # 提示你需要阅读协议后才可以,这里按回车查看协议即可,内容表多一路空格下去
>>> 
===================================
Anaconda End User License Agreement
===================================

Copyright 2017, Continuum Analytics, Inc.

All rights reserved under the 3-clause BSD License:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

内容忽略...

Notice of Third Party Software Licenses
=======================================

内容忽略...

Cryptography Notice
===================

内容忽略...

Do you approve the license terms? [yes|no]
>>> yes                            # 这里提示你是否接受以上协议,输入yes后即可
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] >>> /usr/local/anaconda3       # 默认将安装在用户的家目录,即/root/anaconda3,如果确认按回车,如果希望更改安装位置输入安装路径即可
PREFIX=/usr/local/anaconda3
installing: python-3.6.1-2 ...
installing: _license-1.1-py36_1 ...
installing: alabaster-0.7.10-py36_0 ...
installing: 开始安装相关库...
installing: 开始安装相关库...忽略N行内容...
installing: 开始安装相关库...
Python 3.6.1 :: Continuum Analytics, Inc.
creating default environment...
installation finished.
Do you wish the installer to prepend the Anaconda3 install location
to PATH in your /root/.bashrc ? [yes|no]
[no] >>> yes                   # 这里是告诉你会在.bashrc中添加用户环境变量,确认yes即可

Prepending PATH=/usr/local/anaconda3/bin to PATH in /root/.bashrc
A backup will be made to: /root/.bashrc-anaconda3.bak


For this change to become active, you have to open a new terminal.

Thank you for installing Anaconda3! # 安装完成

Share your notebooks and packages on Anaconda Cloud!
Sign up for free: https://anaconda.org

 

2、至此jyputer环境搭建差不多了,需要配置了,先生成Jupyter Notebook配置文件


[root@JD ~]# jupyter notebook --generate-config
[C 16:42:03.561 NotebookApp] Running as root is not recommended. Use --allow-root to bypass.  #由于运行的是root用户,并不推荐,所以如果想要执行成功需要在后面加上--allow-root
[root@JD ~]# jupyter notebook --generate-config --allow-root
Writing default config to: /root/.jupyter/jupyter_notebook_config.py         # 执行成功后会告诉你配置文件所在路径

 

3、利用passwd()函数生成密码hash值


[root@JD ~]# python
>>> from notebook.auth import passwd                          # 从 notebook.auth 导入passwd模块
>>> passwd()
Enter password: # 【注意】这里是输入你登录jyputer页面的密码
Verify password: # 【注意】重复输入一次上面的密码
'sha1:72fd9a852fa5:355998b499fd4fe8508bb487dda6098b499f07'    # 输入好密码回车后就会得到这串加密后的哈希值

 

4、启动之前先要修改配置文件,主要修改一下几个字段


  • c.NotebookApp.ip=’*’                                            # Jupyter Notebook所监听的IP地址,*代表监听所有
  • c.NotebookApp.password = u’sha1:72fd9a8……’  # 把刚才passwd()得到的hash值放这里
  • c.NotebookApp.open_browser = False                 # 禁止自动打开浏览器
  • c.NotebookApp.port =8888                                  # Jupyter Notebook监听的端口,可以自定义,默认8888

 

5、启动服务


[root@JD ~]# nohup jupyter notebook –allow-root &

nohup是忽略终端关闭信号,&是在后台运行,这样的话服务就可以在后台运行,即使关闭命令行终端也一直在后台运行,同时所有的标准输出都会存在nohup.out日志文件中

 

6、打开浏览器访问:


在浏览器上输入 http://ip:8888

就会出现下面的登陆界面

 

输入之前自己设定的密码就可以成功登陆了

 

第二部分:搭建Nginx反向代理

如何有小伙伴觉得每次打开网页都要加端口麻烦的话,可以使用Nginx反向代理来访问,可以在同一台服务器上,Nginx和jyputer的端口分别为80、8888

1、源码安装Nginx-1.12.0


安装链接:https://www.redppx.cn/nginx_1_12_0_source_install

 

2、配置Nginx


在 /usr/local/nginx/conf/nginx.conf 配置文件的http {}字段中添加以下

server {
        listen 80;
        server_name www.YourDomain.cn;
        access_log logs/access.log main;
        error_log logs/error.log;
        server_tokens off;
        # [Proxy] 反向代理配置字段
        location / {
                proxy_pass http://127.0.0.1:8888;
                 proxy_redirect off;
                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         }
 }
 # [301] 重定向到www
server {
         server_name YourDomain.cn;
         server_tokens off;
         return 301
         http://www.YourDomain.cn$request_uri;
 }

可自行绑定域名,如果是绑定二级域名,301重定向那段就不需要了

 

到此为止环境搭建告一段落了

今天研究发现,Jyputer Notebook一般建议安装在用户的家目录中,如果个人使用,建议新建一个非root账户来安装和启动,可以使用sudo,并且记得修改文件属组

对于以后的密码修改可以按照第一部分的第二段,用passwd()函数来修改,重启下服务即可

近期也在研究Python,大家多多交流把!

 

赞(0) 打赏

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址