赞
踩
pip install jupyter
打开 python 输入
from IPython.lib import passwd
passwd()
如下图所示,输入并确认密码后会生成一段密钥,将密码和密钥都记录下来。
密码用于登录 Jupyter,密钥用于修改配置文件
jupyter notebook --generate-config
vim ~/.jupyter/jupyter_notebook_config.py
配置文件中添加如下内容:
c.NotebookApp.ip='*' #所有 IP 都能访问,若想只在特定 IP 访问,输入 IP
c.NotebookApp.password = u'sha1:1a******698ce3' #刚才那个生成的密钥
c.NotebookApp.open_browser = False # 禁止自动打开浏览器,因为我们并不想在服务器上直接打开 Jupyter
c.NotebookApp.port = 4096 # 随便指定一个端口,从这个端口进入使用 Jupyter
# 以下内容可选
c.IPKernelApp.pylab = 'inline'
# 预载入 相当于 %pylab inline 所有matplotlib的图像都通过inline的方式显示
c.NotebookApp.notebook_dir = '/root/jupyter_projects'
# 这里是设置 Jupyter 的根目录,若不设置将默认 root 的根目录,不安全
c.NotebookApp.allow_root = True
# 使用 root 权限,为了安全,Jupyter 默认不允许以 root 权限启动 Jupyter
c.NotebookApp.enable_mathjax = True
# 是否用mathjax,一种用于数学公式显示的工具
PS:
jupyter notebook
后台启动 Jupyter 并保持运行,使用 nohup 和 & 命令。
nohup jupyter notebook &
exit
使用 exit 是因为:有可能在当前账户非正常退出或者结束的时候,命令还是自己结束了。所以在使用 nohup 命令后台运行命令之后,需要使用 exit 正常退出当前账户,这样才能保证命令一直在后台运行。
- & 命令: 当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上 & 实现后台运行。例如:sh test.sh &
- nohup 命令: nohup 可以在退出帐户之后继续运行相应的进程。nohup 就是不挂起的意思(no hang up)
- 如果使用 nohup 命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为 nohup.out 的文件中,除非另外指定了输出文件:nohup command > myout.file 2>&1 &
nohup jupyter notebook > /dev/null 2>&1 &
- 1
- 2>&1解析:
- command>out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
- 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个&, 是让该命令在后台执行。
- 试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出. from: linux后台执行命令:&和nohup
ps -u root # 显示 root 用户进程信息
# 找到 Jupyter 的 PID number
kill pidnum # 杀死它
- 查看进程号有两个命令可以用,jobs 和 ps,区别是 jobs 用于查看当前终端后台运行的任务,换了终端就看不到了。而 ps 命令用于查看瞬间进程的动态,可以看到别的终端运行的后台进程。
- jobs 命令: 查看当前有多少在后台运行的命令。
jobs -l 选项可显示当前终端所有任务的 PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。- ps 命令: 用于显示当前进程 (process) 的状态。
ps -aux 显示所有包含其他使用者的行程。ps -u root 显示 root 用户进程信息。ps -ef 显示所有命令,连带命令行。- kill命令: 用于删除执行中的程序或工作。彻底杀死进程 kill -9 pidnum。强制杀死进程 kill -KILL pidnum。
打开浏览器输入 —— 服务器IP:之前配置的端口号
http://xx.xx.xx.xx:4096
原因: 是服务器防火墙设置的问题,配置中的端口没有开放。
解决: 有两种方法。
在本地终端中输入
ssh -L 8889:127.0.0.1:4096 username@address_of_remote
ssh 本地转发通过参数 -L 指定,格式:
ssh -L [本地主机:]本地主机端口:远程主机:远程主机端口 ssh待登录主机
当成功执行上面的命令之后,访问本地的 8889 端口,就等同于访问远程主机的 4096 端口。但和直接访问有着本质的区别:这次是通过登录主机来安全转发数据的,没有人知道你和远程主机之间传输了何种数据。就算你不能和远程主机建立连接(而登录主机能访问),那就能突破(绕过)(防火墙的)限制。from: SSH的三种端口转发(Port forwarding)/ 隧道协议概要
这里开放了 4096 端口
sudo iptables -A INPUT -p tcp --dport 4096 -j ACCEPT
sudo iptables-save # 保存设置
持久化 iptables
iptables-save只是暂时保存了端口的开放规则,如果关机或者重启,那么刚才添加的规则就会失效。
使用iptables-persistent可以对端口的开放规则进行持久化操作,使其永久保持有效。from linux/ubuntu系统下开放端口的办法
# 安装iptables-persistent
sudo apt-get install iptables-persistent
# 持久化规则
sudo netfilter-persistent save
sudo netfilter-persistent reload
原因: 我之前配置使用的是 6666 端口。这是 Chrome 的“问题”。ERR_UNSAFE_PORT,顾名思义就是“非安全端口” ,「6666」看上去挺酷的,但却是 Google Chrome 默认的非安全端口列表。
解决: 重新 build chrome 虽然可以解决问题,但比较麻烦。建议尽量避免以下端口。
非安全端口列表 from:坑嗲坑娘坑自己的「6666」端口(记一次网络故障排查)
1, // tcpmux 7, // echo 9, // discard 11, // systat 13, // daytime 15, // netstat 17, // qotd 19, // chargen 20, // ftp data 21, // ftp access 22, // ssh 23, // telnet 25, // smtp 37, // time 42, // name 43, // nicname 53, // domain 77, // priv-rjs 79, // finger 87, // ttylink 95, // supdup 101, // hostriame 102, // iso-tsap 103, // gppitnp 104, // acr-nema 109, // pop2 110, // pop3 111, // sunrpc 113, // auth 115, // sftp 117, // uucp-path 119, // nntp 123, // NTP 135, // loc-srv /epmap 139, // netbios 143, // imap2 179, // BGP 389, // ldap 465, // smtp+ssl 512, // print / exec 513, // login 514, // shell 515, // printer 526, // tempo 530, // courier 531, // chat 532, // netnews 540, // uucp 556, // remotefs 563, // nntp+ssl 587, // stmp? 601, // ?? 636, // ldap+ssl 993, // ldap+ssl 995, // pop3+ssl 2049, // nfs 3659, // apple-sasl / PasswordServer 4045, // lockd 6000, // X11 6665, // Alternate IRC [Apple addition] 6666, // Alternate IRC [Apple addition] 6667, // Standard IRC [Apple addition] 6668, // Alternate IRC [Apple addition] 6669, // Alternate IRC [Apple addition]
搭建时参考:
解决问题一时参考:
解决问题二时参考:
博客内容参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。