前言:
- aliyun里的pip大多不好用,尽量用conda。
(阿里云的pip默认源会导致安装失败,炒鸡无敌爆炸坑,参考
http://www.liuocean.com/index.php/2019/01/02/a-li-yun-an-zhuangjupyter-notebook-server/
) - 修改阿里云安全组策略,把入方向的端口8888开放
- 使用的端口8888仅限阿里云使用,电脑的8888不可使用否则会出现:
4. Malformed HTTP message from xxxx(电脑ip): Malformed HTTP headers。
本方法使用于远程端口连接。
0. 安装
进入虚拟环境notebook后,安装
conda install jupyter notebookk
能够在多个虚拟环境下切换自如
conda install nb_conda
1. 生成配置文件
jupyter notebook --generate-config
这样就会在用户目录下生成配置文件,之后
ipython
from notebook.auth import passwd
passwd()
Enter password:
Verify password:
返回 'sha1:1295456bce22:83666664331d99621def6ab0857f0e8bc34692d4'
记住'sha1:1295456bce22:835c2e84331d99621def6ab0857f0e8bc34692d4'和输入的密码abc(假设),以后会用到。
把下面的内容放到配置文件里
vi ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:1295456bce22:83666664331d99621def6ab0857f0e8bc34692d4'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
进入notebook虚拟环境,并且远程连接。
source activate notebook
jupyter notebook &
假设你的阿里云ip为
aa:bbb:ccc:dd
在本机电脑输入:
http://aa:bbb:ccc:dd:8888/
如果需要输入密码,则输入
abc
配置后发现长久不用,发现忘记密码:
jupyter notebook password
关于安全组事宜
因为从外网访问服务器,需要开放一定的端口,所以要对服务器的访问规则进行配置。阿里云是用安全组来管理这些规则的,所以需要对安全组进行配置。
阿里云为了安全起见,默认只开放了22、80等少数端口。而jupyter notebook默认采用8888端口,因此在安全组配置中,需要将此端口开放。
如果一切都正常,就是无法远程访问,有90%的可能性就是安全组规则配置的问题。
设置过程:云服务器管理控制台 >云服务器ECS>网络和安全>安全组>配置规则>添加安全组规则
具体情况详见:https://www.jianshu.com/p/fff4a61dee7a
作者:默而学
链接:https://www.jianshu.com/p/fff4a61dee7a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。