在AWS上部署一个网站

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

在AWS上部署一个网站

使用Elastic Beanstalk用户就不必操心自己的操作系统或虚拟服务器因为它在它们之上加了一个抽象层。

文章目录


前言

Elastic Beanstalk帮助用户处理下面反复发生的任务。

为网站应用PHP、Java等提供一个运行环境。
自动安装并更新网站应用。
配置网站应用及其环境。
调整网站应用规模来负载均衡。
监控和调试网站应用。

一、Elastic Beanstalk是什么

Elastic Beanstalk的不同组成部分有助于了解它的功能。应用是一个逻辑上的容器。它包含了版本、环境和配置。如果用户在一个区域开始使用Elastic Beanstalk首先需要创建一个应用。版本包含用户的应用的指定版本。要创建一个新版本用户必须上传自己的可执行文件到用来存储静态文件的Amazon S3服务。版本是一个指向这个可执行文件的压缩文档的指针。配置模板包含默认配置。用户可以通过自定义的配置模板管理自己的应用的配置以及环境配置。环境是Elastic Beanstalk执行应用的地方。它由版本和配置构成。用户可以通过多次使用版本和配置为一个应用运行多个环境。

二、使用步骤

1.部署一个Node.js

Etherpad是一个开源的在线编辑器它让许多人可以同时编辑一份文档。我们将通过以下3个步骤在Elastic Beanstalk的帮助下部署这个基于Node.js的应用。
1创建应用逻辑上的容器。
2创建版本指向特定Etherpad版本的指针。
3创建环境Etherpad运行的地方。

打开命令行并且执行下面的命令来为Elastic Beanstalk服务创建一个应用

$ aws elasticbeanstalk create-application --application-name etherpad

2.用Elastic Beanstalk创建一个环境来执行Etherpad

要使用Elastic Beanstalk部署Etherpad需要基于Amazon Linux及Etherpad的版本为Node.js创建一个环境。要获取最新的Node.js环境版本列出包含它的解决方案堆栈名solution stack name运行下面的命令

$ aws elasticbeanstalk list-available-solution-stacks --output text \
--query "SolutionStacks[?contains(@, 'running Node.js')] | [0]"\

64bit Amazon Linux 2015.03 v1.4.6 running Node.js

选项EnvironmentType = SingleInstance自动启动一个不可变规模且无负载均衡的单台虚拟服务器。使用从前一个命令得到的输出替换$SolutionStackName

$ aws elasticbeanstalk create-environment --environment-name etherpad \
--application-name etherpad \
--option-settings Namespace=aws:elasticbeanstalk:environment,\
OptionName=EnvironmentType,Value=SingleInstance \
--solution-stack-name "$SolutionStackName" \
--version-label 1.5.2

上传了一个包含了Etherpad版本1.5.2的zip压缩文档。如果想部署另一个应用可以上传自己的应用的静态文件至AWS S3服务。

总结

在将浏览器指向我们的Etherpad安装前需要花费几分钟用下面的命令来跟踪Etherpad环境的状态

$ aws elasticbeanstalk describe-environments --environment-names etherpad

如果Status变为Ready并且Health变成Green说明已经准备好了可以创建我们的第一个Etherpad文档了。命令describe的输出应该与以下的例子类似。

{
 "Environments": [{
  "ApplicationName": "etherpad",
  "EnvironmentName": "etherpad",
  "VersionLabel": "1",
  "Status": "Ready",--等待Status 变为Ready
  "EnvironmentId": "e-pwbfmgrsjp",
  "EndpointURL": "23.23.223.115",
  "SolutionStackName": "64bit Amazon Linux 2015.03 v1.4.6 running Node.js",
  "CNAME": "etherpad-cxzshvfjzu.elasticbeanstalk.com",--环境的DNS 记录例如要从浏览器打开
  "Health": "Green",--等待Health变为Ready
  "Tier": {
   "Version": " ",
   "Type": "Standard",
   "Name": "WebServer"
  },
  "DateUpdated": "2015-04-07T08:45:07.658Z",
  "DateCreated": "2015-04-07T08:40:21.698Z"
 }]
}

我们已经利用3个命令在AWS上部署了一个Node.js网站应用。现在把浏览器指向CNAME中的URL并输入一个新文档名点击OK按钮来打开一个新文档。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6