在 Amazon Lightsail 上部署容器 LAMP Web


摘要

大多数人在学习技术知识的时候希望拥有个人博客,分享或者记录日常学习进步的点滴。如何来搭建一个个人博客网站或者小型站点呢,市面上的解决方案有很多。
问题来了,如果我们要有一个快速部署、管理和扩展的小型网站和数据库怎么办?想要一个具有成本效益的简单月度计划怎么办?
在这些情况下,Amazon Lightsail是一个不错的选择。它是一款易于使用的虚拟专用服务器 (VPS),最低配置仅$3.5/月。对于个人建站和一些中小应用是很合适的选择。Amazon Lightsail不仅可以快速搭建WordPress,而且可以根据实际情况创建LAMP堆栈部署自己的web网站。
下面我们根据官方教程使用Amazon Lightsail blueprints 创建一个LAMP堆栈,并将 PHP 应用程序部署到 Lightsail。原文链接.

一、Amazon Web Services 介绍

像谷歌,微软和IBM是许多领域的领先技术巨头,虽然拥有数十亿用户,但他们有一个业务部门,多年来总是追随亚马逊。值得一提的是,这个业务部门不是电子商务,而是一个以亚马逊名字命名的领域。越来越多的从业者已经熟知这家公司在这个领域运营,影响了数十亿用户,行业世界排名第一。它就是Amazon Web Services,云计算IaaS和PaaS平台服务。亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。
其中有些著名Amazon产品也经常被大家提起:

  • 亚马逊简单存储服务(Amazon S3) 。 提供一种将数据作为对象进行管理的计算机数据存储架构,使Amazon S3非常适合备份和恢复,数据归档以及混合云存储。 Amazon S3使用与Amazon.com网站相同的可扩展存储基础架构。
  • Amazon Elastic Compute Cloud(EC2) 。 提供对预装有应用程序软件(包括数据库和Web服务器)的虚拟计算机集群的访问。
  • AWS Lambda 。 这是一个无服务器,事件驱动的计算平台,旨在构建按需运行的应用程序,这些应用程序可以响应特定事件而运行代码。 Lambda自动管理运行代码所需的计算资源,这使其成为配置响应HTTP请求而触发的后端服务的理想之选,然后在不再需要这些资源时自动取消它们的配置。
    而今天,我们的主角是Amazon Lightsail。

二、Amazon Lightsail介绍

Lightsail是一个云平台,可提供部署和托管WordPress网站所需的一切,包括实例,托管数据库,静态IP地址和负载平衡器。 尽管我们将专注于使用Lightsail启动WordPress实例,但是我们也可以使用Lightsail部署小型Web应用程序,商业软件,开发人员沙箱和测试环境。像知名的Gourmeat、AcCentric Solutions都在使用Lightsail去改善其业务流。
Lightsail除了商业用户以外,在个人用户中,由于WordPress的原因也非常受欢迎,它虽然不是托管WordPress网站的唯一选择。但其有独特的优点,本次我们来展示如何安装WordPress,或在Amazon Lightsail上启动部署的个人web网站,以确保它是适合您的平台。
Lightsail 提供了许多预配置的一键启动应用程序或开发堆栈,包括 WordPress、Plesk、LAMP 和 Node.js 等。还提供简单的操作系统,包括 Amazon Linux、Windows Server、Ubuntu 和 CentOS 等。其中Lightsail 提供易于建立的虚拟服务器(实例),以 强大功能和可靠性为后盾。可以在几分钟内启动网站、Web 应用程序或项目,并通过直观的 Lightsail 控制台或 API 管理实例。借助 Lightsail Container Service,只需几个步骤即可运行容器化的应用程序,并从 Internet 安全访问。
那么为什么我们要选择LAMP架构呢?或者什么情况下选择LAMP架构

三、LAMP架构优势

LAMP 是指Linux(操作系统)+ Apache (HTTP 服务器)+ MySQL(数据库)和 PHP(网络编程语言)。这是一组常用来搭建动态网站或者服务器的开源软件。它们本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
LAMP和 Java/J2EE 架构相比, LAMP 具有 Web 资源丰富、轻量、快速开发等特点;与微软的 .NET 架构相比,LAMP具有通用、跨平台、高性能、低价格的优势。因此 LAMP 无论是性能、质量还是价格都是企业、个人搭建网站的首选平台
同时,WordPress在行业内的实力和影响力已经有目共睹,其组合环境常见的有Lamp环境和Lnmp两种,而LAMP环境因为Apache比较适合处理“动态”请求比较多的站点系统。所以,像WordPress有大量动态数据请求的场景很适合采用LAMP方案。
在这里插入图片描述

四、在Lightsail中创建LAMP堆栈

话不多说,我们现在根据教程创建Lightsail实例,感受下其便捷和强大的功能
根据教程呢,主要是bash脚本里快速构建的过程

aws lightsail create-instances \
 --instance-names "LightsailLampExample" \
 --availability-zone eu-west-1a \#可用区选择
 --blueprint-id lamp_7 \ #选择lamp_7
 --bundle-id micro_2_0 \
 --key-pair-name LightsailGuide \#ssh脚本生成的密钥
 --user-data '# 粘贴的部分

第一次操作呢我们根据Amazon的GUI向导也可以实现实例创建
1、在Amazon管理控制台的“服务”下拉选项中单击“Lightsail”。或者使用快捷向导点击【在使用虚拟服务器构建With Lightsail (2 分钟)】
2、点击开始,点击创建实例
3、根据账户情况选择可用区
在这里插入图片描述
4、在“选择平台”下选中“Linux/Unix
5、选择lamp(PHP7)图标(点击wordpress快速创建wordpress堆栈容器,这里我们选择Lamp)
在这里插入图片描述

五、部署LAMP应用程序

接下来安装应用程序代码
1.单击 +单击启动脚本。
在这里插入图片描述
2.将教程中的的脚本粘贴到启动脚本文本窗口中
脚本将执行以下操作:

  • 删除默认的 Apache 网站
  • 将应用程序代码从 GitHub 克隆到 htdocs 目录中
  • 确保配置文件可写入
  • 使用 sed 从磁盘上的文件中读取本地数据库密码,并将其插入配置文件中
  • 运行 SQL 脚本以设置应用程序的数据库
# remove default website
#-----------------------
cd /opt/bitnami/apache2/htdocs 
rm -rf *

# clone github repo
#------------------
git clone -b loft https://github.com/mikegcoleman/todo-php .

# set write permissons on the settings file
#-----------------------------------
chown bitnami:daemon connectvalues.php
chmod 666 connectvalues.php

# inject database password into configuration file
#-------------------------------------------------
sed -i.bak "s/<password>/$(cat /home/bitnami/bitnami_application_password)/;" /opt/bitnami/apache2/htdocs/connectvalues.php

# create database
#----------------
cat /home/bitnami/htdocs/data/init.sql | /opt/bitnami/mysql/bin/mysql -u root -p$(cat /home/bitnami/bitnami_application_password)

2.选择免费套餐实例计划。
在这里插入图片描述

3、向下滚动并单击创建实例。
在这里插入图片描述

4.复制 IP 地址并将其粘贴到您的浏览器中
在这里插入图片描述

5.大功告成
在这里插入图片描述

Amazon Lightsail优点及总结:

  1. 便宜
    对于动辄$5/10每月的竞品价位而言,AWS Lightsail提供的主机的配置和流量包很有优势。另外对入门用户比较好的一点是,AWS Lightsail目前支持选购最低配512MB内存的主机,且该配置的首月可以免费。

  2. 高效
    与运行ECS或EC2服务相比,设置AWS Lightsail实例是一项相当简单的任务。不仅可以从AWS控制台进行配置。并且支持从AWS LightSail进行设置或者从AWS CLI进行管理和设置。10分钟快速上手,半个小时进行简单建站。非常的高效。

  3. 功能强大
    Amazon Lightsail作为EC2的更简单替代方案,它提供了构建网站和小型Web应用程序所需的所有工具。 不仅有多个机房可以选择,特别是日本机房,应该是非常符合国内的需求。而且他直接提供了安装好的服务包,热门的wordpress,LAMP,Nginx他都有。内置wordpress的感觉就是lamp加了一个wordpress的安装包,装好后直接就可以访问,如果需要整合的话,直接导入文件和数据库就行了。

  4. 便于升级
    当资源不足已支撑项目时,Amazon Lightsail可以升级EC2,方便项目体量增加。
    整体而言,相对于其他厂家,Lightsail的核心是每月的定价模型和易于使用的界面。上手起来难度不高,价格合适,值得尝试。对于托管WordPress博客,API服务器和暂存环境,它绝对是一个不错的选择。

  5. 亚马逊云科技专为开发者们打造了多种学习平台:

    入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。
    架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。
    构建者库:了解亚马逊云科技如何构建和运营软件。
    用于在亚马逊云科技平台上开发和管理应用程序的工具包:链接

专属福利

最后送上专属福利:
福利一:100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。福利链接
福利二:最新优惠大礼包,200 数 据 与 分 析 抵 扣 券 , 200 数据与分析抵扣券,200 200机器学习抵扣券,200$微服务与应用开发抵扣券。 福利链接
福利三:解决方案CloudFormation一键部署模版库 福利链接

猜你喜欢

转载自blog.csdn.net/weixin_50077637/article/details/124425164