服务器端安装Anaconda,安装好jupyter-notebook
jupyter notebook --generate-config
打开生成的配置文件,一般是在~/.jupyter,你可以利用vi直接进行修改,也可以利用WinSCP或Xftp远程连接服务器以记事本的形式打开jupyter_notebook_config.py进行编辑。若你是以记事本的形式编辑,按“ctrl+f”进行【查找】下列的位置:
c.NotebookApp.allow_remote_access = True // 表示允许外部访问
c.NotebookApp.ip='*' // 修改为‘*’,表示允许所有IP访问
c.NotebookApp.token = '' // 取值设为空,取消登录密码
c.NotebookApp.password = '' // 自己设置jupyter-notebook登陆密码
c.NotebookApp.open_browser = False // 禁止自动打开浏览器
c.NotebookApp.port = 9901 // 设置一个notebook服务监听的IP端口
c.NotebookApp.notebook_dir = u'/home/me/ipython' // 分配的打开路径
【说明】一定要将每一句前面的注释“#”去掉,否则无法读取。
jupyter-notebook可以通过:密码登录、token登录、免密登录三种方式登录。现在介绍的是如何设置jupyter密码,在终端输入ipython,让服务器可以执行python代码,利用passwd()生成一个hash密码:
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
两次输入密码在终端是无法显示出来的,将整段hash密码复制下来,存放上面的进配置文件c.NotebookApp.ip='*'中。
jupyter notebook --port 9901 // 这里分配的是9901端口号
在服务器终端输入下列语句:
firewall-cmd --zone=public --add-port=9901/tcp --permanent // 放行服务器9901端口
systemctl restart firewalld.service // 重启服务器防火墙
【说明】linux服务器如果不是root权限,无法管理防火墙配置,因此还是建议采取方案二。
在本地计算机的cmd中输入下面语句:
ssh -N -f -L localhost:9213:localhost:9901 -p 6000 用户名@服务器ip地址
【说明】
语句输入之后,还会让你输入你的服务器登录密码。
在本地计算机的浏览器中输入:http://服务器ip地址:端口号/ 或 http://localhost:端口号/
搭建项目时需要自己配置端口信息,但是有人搭建之后会出现ERR_TIME_OUT的错误,这是因为:chorme浏览器有自己的默认非安全端口组,若访问这些端口就会出现这个错误,并且所有采用chorme内核的浏览器都会这样。解决方案是更换自己项目的端口,这里列出所有chorme的默认非安全端口,请大家在搭建项目时避免使用这些端口:
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]
出现这个情况的错误,大部分情况是因为找不到配置文件中c.NotebookApp.notebook_dir所对应的目标路径,填写的路径在实际的linux服务器中不存在,重新填写写的路径或者在服务器中的对应位置创建好文件就可以解决。
可能存在文件jupyter_notebook_config.json,因为它拥有更高的优先级,每当开启jupyter-notebook时都会先以这个文件为主,这就意味着刚才配置的jupyter_notebook_config.py文件无效了,此时,你可以选择删除.json文件再重新开启便会成功登录。
nohup jupyter notebook --port 9901 &
评论