- 安装 python 3 、 ipython
apt-get install python3
apt install python3-pip
pip3 install ipython
-安装jupyter notebook
#升级pip3
sudo pip3 install --upgrade pip
#安装jupter 和 依赖包,很多已经有了,但最好还是再运行一遍
$sudo pip install pyzmq
$sudo pip install tornado
$sudo pip install jinja2
$sudo pip install jsonschema
$sudo pip install jupyter
- jupyter更改配置文件及远程访问
jupyter notebook --generate-config
#生成密码sha1
python3
from IPython.lib import passwd #注意P要大写
passwd()
Enter password: #自己设置密码
Verify password:
Out[2]: 'sha1:0e422dfccef2:84cfbcbb3ef95872fb8e23be3999c123f862d856'
#创建自签名的证书
# 在linux下执行,遇到询问的地方一路回车即可
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
# 会在当前文件夹下生成 mycert.pem,我将它移到.jupyter/secret文件夹下面,方便管理
# 先创建.secret文件夹
cd .jupyter
mkdir secret
# 移动
cd ~
mv mycert.pem mykey.key .jupyter/secret/
#修改默认配置文件
vim ~/.jupyter/jupyter_notebook_config.py
#文件头添加
# 打开刚才创建的.jupyter/jupyter_notebook_config.py,先备份源文件,然后再修改
# 备份
$ cp .jupyter/jupyter_notebook_config.py .jupyter/jupyter_notebook_config.py_bak
# 修改如下,可以先删除里面的内容添加,也可以修改,或者直接在头部添加,反正里面的原先的内容都是注释掉的:
vim ~/.jupyter/jupyter_notebook_config.py
c.IPKernelApp.pylab = 'inline' # if you want plotting support always
c.NotebookApp.ip = '*' # 就是设置所有ip皆可访问,在144行
c.NotebookApp.open_browser = False # 禁止自动打开浏览器
# 密钥,在194行。该密钥就是上面生成的sha1
c.NotebookApp.password = 'sha1:74d233d59da1:50d7ef60a58456e2016dc427547fb42cdd971cea'
c.NotebookApp.port = 6789 # 访问端口,在197行
# 自签名证书位置,如果不使用ssl,可以不设置
c.NotebookNotary.secret_file = '/xxxxxx/.jupyter/secret/mycert.pem'
c.NotebookApp.keyfile = '/xxxx/.jupyter/secret/mykey.key'
# 设置目录,存放创建的ipython notebook文件
c.NotebookApp.notebook_dir = '/home/xxxx/xxxx'
#防火墙开放端口(没开启防火墙的跳过此步)
# 使用root用户
su
# 开放6789端口
iptables -I INPUT -p tcp --dport 6789-j ACCEPT
保存
iptables save
重启服务
service iptables restart
#启动jupyter
$ jupyter notebook
#如果有报错 “running as root is not recommended use allow root to bypass",启动代码更改为
$ jupyter notebook --allow-root
#开启ssl
jupyter notebook --certfile=/home/zhenyu/.jupyter/secret/mycert.pem
#用游览器打开
在打开的游览器中输入服务器地址和端口,例如:http://172.15.0.55:6789,然后输入自己设置的秘密即可使用Jupyter,使用ssl时换成https,无需输入密码,但是链接很慢,如果是内网访问,无需使用ssl
#将jupyter notebook 作为后台进程启动
nohup jupyter notebook
#重定向日志
#上面的启动方式,会在当前目录生成一个日志文件,我忘了叫上面名字,总之随着jupyter notebook的运行,日志文件会越来越大,如果不是很重要,可以设置不记录日志,方法是将所有的输出都重定向到/dev/null 2>&1 &
nohup jupyter notebook >/dev/null 2>&1 &
#停止jupyter notebook
# 查看进程
ps -ef | grep 'jupyter notebook'
# 输出如下,这里的21983即为进程id,
# hadoop 22136 21983 0 09:10 pts/1 00:00:00 grep jupyter notebook
# 杀死进程
kill -9 21983
# 此时浏览器无法再连接jupyter notebook了吧。
参考链接
https://blog.csdn.net/simple_the_best/article/details/77005400