本身自己机器上安装了太多东西,有点慢,本来也喜欢所有的东西搬到服务上,所以如果能安装一个远程的Jupyter 服务器,用起来就会很方便。
记录下自己的安装步骤
1. 安装ipython, jupyter
1 | pip install ipython |
2. 生成配置文件
1 | [root@50eb5057baac /]# jupyter notebook --generate-config |
3. 生成密码
1 | root@50eb5057baac /]# ipython |
3. 修改默认配置文件
1 | vi /root/.jupyter/jupyter_notebook_config.py |
1 | c.NotebookApp.ip='*' #设置访问notebook的ip,*表示所有IP,这里设置ip为都可访问 |
4. 启动jupyter notebook
1 | [root@346086094cbe /]#jupyter notebook --config /root/.jupyter/jupyter_notebook_config.py --allow-root |
5. 然后你就可以在浏览器里敲入你的地址 http://yourip:8889/
7.后台运行
上面的启动方式,会在当前目录生成一个日志文件,我忘了叫上面名字,总之随着jupyter notebook的运行,日志文件会越来越大,如果不是很重要,可以设置不记录日志,方法是将所有的输出都重定向到/dev/null 2>&1 &
此外,上面的启动方式是启动一个前台进程,如果ssh连接断开,jupyter notebook也就失效了,所以需要将jupyter notebook作为一个后台进程启动,在linux中是nohup命令。
不启动ssl,不记录日志输出,作为后台进程启动jupyter notebook
nohup jupyter notebook >/dev/null 2>&1 &
上边的命令jupyter notebook 改为jupyter notebook –config /root/.jupyter/jupyter_notebook_config.py –allow-root
变成这样: nohup jupyter notebook –config /root/.jupyter/jupyter_notebook_config.py –allow-root >/dev/null 2>&1 &
8.停止jupyter notebook
jupyter notebook作为后台进程启动后,如果想要停止它,可以先找到进程ID,然后kill。
1 | # 查看进程 |
远程访问失败原因:
1.启动jupyter notebook后,在虚拟机中打开浏览器可以在访问ipython jupyter,但是远程是无法连接的,因为防火墙啊。1
2
3
4
5
6
7
8# 使用root用户
su
# 开放6789端口
/sbin/iptables -I INPUT -p tcp --dport 6789-j ACCEPT
保存
/etc/rc.d/init.d/iptables save
重启服务
service iptables restart
2.关闭防火墙:命令1
systemctl stop firewalld.service
3.启动时命令jupyter notebook –config /root/.jupyter/jupyter_notebook_config.py –allow-root1
jupyter_notebook_config.py要用绝对路径