申请 aws EC2, 然后进行配置但在这过程中踩了太多的坑。
一、EC2 创建实例
- 点击 "正在运行的实例",
进入以下界面。 面板里会显示 创建的实例。 也会显示实例的 基本信息, 私有DNS, 共有DNS ,安全组,等等。但是提到的这几个是关键。
二、通过SSH访问服务器
- 在EC2 - 实例中 启动 创建好的实例, 实例的状态会由stopped 变成pending。启动会有一小会儿变成running。 这个时候注意,aws给这个实例动态分配了 公有DNS,公有IP。这个是动态改变的。每次启动都要注意改变。
有4 部分需要注意,分别用不同颜色的框画了出来,依次为。
- amazonMachinening.pem 文件的地址
这里需要注意的是但是下载下来的文件地址。
- amazonMachineLearning.pem
这里需要注意的是文件权限,不然出错。出现 bad 连结。
这里的用户是根据AMI来决定的,用的ubuntu,所以这里用户名为 ubuntu。这里链接可以找到其他的用户名。
- 服务器地址
这里要注意的是 每次公有DNS是动态改变的,每次登录是记住修改。
三、Jupyter NoteBook 启动
jupyter notebook的启动,在这过程中遇到了许多问题,其中参考了以下资源。
blog.impiyush.com/2015/02/run…
- 进入ipython,
from IPython.lib import passwd
passwd()
output:
如下图,将其保存下来。
mkdir certs
cd certs
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mycert.key -out mycert.pem
- 配置
修改jupyter_notebook_config.py 文件
cd ~/.jupyter/
vi jupyter_notebook_config.py
# Notebook config
c.NotebookApp.certfile = u'/home/ubuntu/certs/mycert.pem' #location of your certificate file
c.NotebookApp.keyfile = u'/home/ubuntu/certs/mycert.key' #location of your certificate key
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False #so that the ipython notebook does not opens up a browser by default
c.NotebookApp.password = u'sha1:68c136a5b064...' #the encrypted password we generated above
# It is a good idea to put it on a known, fixed port
c.NotebookApp.port = 8888
- 运行 jupyter notebook
输入命令后出下以下显示,将https://ip-172-31-34-40:8888/ 复制到浏览器中,其中ip-172-31-34-40 是私有DNS,这个时候去实例描述中,找到公有DNS,将其替换出来 https://公有DNS:8888/。但是这里出现了错误,不能正常访问。
jupyter notebook