27
2017
09

AWS快速使用

AWS使用


—–部署Django项目

准备
1、首先需要创建一个AWS账户并且有证书;

2、为了跟随以下指导,你需要有必备的环境,包括以下包Python2.7、pip、virtualenv、awsebcli、Django框架

3、用EB CLI创建环境需要有服务角色,你可以在Elastic Beanstalk Management Console通过创建一个环境来创建服务角色,如果你没有床架你服务角色,EB CLI会在你运行 eb create的时候尝试创建此角色

4、为Django创建Python虚拟环境(不再赘述),安装Django包,下载1.9.12版本,pip install django==1.9.12(注意:你下载的Django版本必须和你将要部署在的EB上的Python版本兼容),目前的Python配置可以在那个版本的Python上使用Django

5、在你创建的虚拟环境中创建Django项目

6、为EB配置你的Django应用:
    6.1、激活虚拟环境;
    6.2、 保存当前虚拟环境的所有包,pip freeze > requirements.txt,EB通过requirements.txt会下载你所需要的各种包
    6.3、创建隐藏文件夹,.ebextentions,在此文件中创建一个配置文件django.config,文件中写
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: ebdjango/wsgi.py

    6.4、退出虚拟环境,deactivate


用EB CLI部署网站

step1:上述步骤完成后,项目目录结构应该是下面这样:
~/ebdjango/
|-- .ebextensions
| -- django.config
|-- ebdjango
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| -- wsgi.py
|-- db.sqlite3
|-- manage.py
-- requirements.txt

———–接下来创建环境并部署应用
step2:初始化你的EB CLI仓库, fig. eb init -p python2.7 django-tutorial,此命令创建了一个名为django-tutorial的新应用,配置了你的本地仓库,创建了Python2.7的环境

step3:再次运行 eb init 来配置一个默认的键值对以便于你用ssh链接EC2(亚马逊的云计算平台),接下来会有一些提示信息,你如果不想要可以用eb init -i

step4:创建环境并部署应用,fig.eb create django-env,如果看到“service role required”的错误信息,就不要写虚拟环境的名字,用eb create即可,EB CLI会为你自动创建一个角色,这个命令创建了一个负载均衡的EB环境,名字叫django-env,创建环境需要5min左右,当EB创建运行应用的必要资源的时候会输出一些提示信息

step5:当创建环境完成后,使用eb open打开你的网页,如果网页没有打开或提示一些错误信息,查看Troubleshooting


———————至此,一个简单的Django项目已经配置完成


——– 部署完成之后

现在你已经有了一个在EB平台上运行的应用,接下来你可以对他进行更新或重新部署,更改后EB会处理更新实例,更新完成后应用即可,eb deploy

可以创建一个脚本自动执行迁移步骤
创建.ebextentions/db-migrate.config,内容如下:
container_commands:
01_migrate:
command: "django-admin.py migrate"
leader_only: true
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: ebdjango.settings


———–清除和后续步骤
使用eb terminate django-env结束EB环境

详细使用配置等点击这里

上一篇:小控件--UIButton 下一篇:ScrollView与SeekBar绑定实现滑动时出现小滑块的效果