amazon linux 部署网站,步骤 2. 配置将要部署的源内容配置到 Amazon Linux 或 Red Hat Enterprise Linux Amazon EC2 实例 - AWS Co...

步骤 2. 配置将要部署的源内容配置到 Amazon Linux 或 Red Hat Enterprise Linux Amazon EC2 实例

现在是时候配置应用程序的源内容以拥有可部署到实例的内容了。

获取源代码

在此教程中,您将 WordPress 内容发布平台从开发计算机部署到目标 Amazon EC2 实例。要获取 WordPress 源代码,可使用内置命令行调用。或者,如果您的开发计算机上已安装

Git,可改用 Git。

对于这些步骤,我们假定您将 WordPress 源代码的副本下载到开发计算机上的 /tmp 目录。(您可以选择所需的任何目录,但请记住,将这些步骤中指定的任何 /tmp 替换为您的位置。)

选择以下两个选项之一,将 WordPress 源文件复制到您的部署计算机上。第一个选项使用内置命令行调用。第二个选项使用 Git。

获取 WordPress 源代码的副本(内置命令行调用)

调用 wget 命令可将 WordPress 源代码的副本以 .zip 文件的形式下载到当前目录:

wget https://github.com/WordPress/WordPress/archive/master.zip

呼叫 unzip, mkdir, cp,和 rm 命令:

打开包装 master.zip文件到 /tmp/WordPress_Temp 目录(文件夹)。

将其解压缩的内容复制到 /tmp/WordPress 目标文件夹中。

删除临时 /tmp/WordPress_Temp 文件夹和 master 文件。

运行这些命令(一次运行一条命令):

unzip master -d /tmp/WordPress_Temp

mkdir -p /tmp/WordPress

cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress

rm -rf /tmp/WordPress_Temp

rm -f master

这将在 /tmp/WordPress 文件夹中保留一组干净的 WordPress 源代码文件。

获取 WordPress 源代码的副本 (Git)

下载并安装 GIT 在您的开发机上。

在 /tmp/WordPress 文件夹,请致电 git

init 命令。

呼叫 git clone 命令克隆公共WordPress存储库,在此命令中自行复制 /tmp/WordPress 目标文件夹:

git clone https://github.com/WordPress/WordPress.git /tmp/WordPress

这将在 /tmp/WordPress 文件夹中保留一组干净的 WordPress 源代码文件。

创建用于运行应用程序的脚本

接下来,在目录中创建一个文件夹和脚本。 CodeDeploy 使用这些脚本设置和部署目标上的应用程序修订版 Amazon EC2 实例。您可使用任何文本编辑器来创建脚本。

在 WordPress 源代码的副本中创建脚本目录:

mkdir -p /tmp/WordPress/scripts

创建 install_dependencies.sh 文件 /tmp/WordPress/scripts...将以下行添加到文件。此 install_dependencies.sh 脚本安装 Apache、MySQL 和 PHP。还会将 MySQL 支持添加到 PHP 中。

#!/bin/bash

sudo amazon-linux-extras install php7.4

sudo yum install -y httpd mariadb-server php

创建 start_server.sh 文件 /tmp/WordPress/scripts...将以下行添加到文件。此 start_server.sh 脚本启动 Apache 和 MySQL。

#!/bin/bash

systemctl start mariadb.service

systemctl start httpd.service

systemctl start php-fpm.service

创建 stop_server.sh 文件 /tmp/WordPress/scripts...将以下行添加到文件。此 stop_server.sh 脚本停止 Apache 和 MySQL。

#!/bin/bash

isExistApp=pgrep httpd

if [[ -n $isExistApp ]]; then

systemctl stop httpd.service

fi

isExistApp=pgrep mysqld

if [[ -n $isExistApp ]]; then

systemctl stop mariadb.service

fi

isExistApp=pgrep php-fpm

if [[ -n $isExistApp ]]; then

systemctl stop php-fpm.service

fi

创建 create_test_db.sh 文件 /tmp/WordPress/scripts...将以下行添加到文件。这个 create_test_db.sh 脚本使用Mysql创建 test Wordpress的数据库使用。

#!/bin/bash

mysql -uroot <

CREATE DATABASE IF NOT EXISTS test;

CREATE_TEST_DB

最后,创建 change_permissions.sh 脚本 /tmp/WordPress/scripts...这用于更改Apache中的文件夹权限。

重要

此脚本更新 /tmp/WordPress 文件夹上的权限,以便所有人可以写入其中。这是必需的,以便 WordPress 可在期间写入其数据库。步骤 5. 更新并重新部署您的Wordpress应用程序. 设置 WordPress 应用程序之后,运行以下命令,将权限更新为更安全的设置:chmod -R 755 /var/www/html/WordPress

#!/bin/bash

chmod -R 777 /var/www/html/WordPress

为所有脚本提供可执行文件权限。在命令行上,键入:

chmod +x /tmp/WordPress/scripts/*

添加应用程序规格文件

接下来,添加 application specification file (AppSpec file),a YAML-格式化文件用于 CodeDeploy 收件人:

将应用程序修订中的源文件映射到其在目标 Amazon EC2 实例上的目标。

为部署的文件指定自定义权限。

指定部署期间要在目标 Amazon EC2 实例上运行的脚本。

TheThethe AppSpec file 必须命名 appspec.yml...必须放置在应用程序源代码的根目录中。在本教程中,根目录为 /tmp/WordPress

使用文本编辑器创建名为 appspec.yml...将以下行添加到文件:

version: 0.0

os: linux

files:

- source: /

destination: /var/www/html/WordPress

hooks:

BeforeInstall:

- location: scripts/install_dependencies.sh

timeout: 300

runas: root

AfterInstall:

- location: scripts/change_permissions.sh

timeout: 300

runas: root

ApplicationStart:

- location: scripts/start_server.sh

- location: scripts/create_test_db.sh

timeout: 300

runas: root

ApplicationStop:

- location: scripts/stop_server.sh

timeout: 300

runas: root

CodeDeploy 使用此项 AppSpec file 要复制所有文件 /tmp/WordPress 开发机上的文件夹 /var/www/html/WordPress 目标上的文件夹 Amazon EC2 实例。部署期间, CodeDeploy 将指定脚本运行为 root 在 /var/www/html/WordPress/scripts 目标上的文件夹 Amazon EC2 在部署生命周期中指定事件的实例,例如 BeforeInstall 和 AfterInstall...如果这些脚本中的任何一个超过300秒(5分钟)运行, CodeDeploy 停止部署并将部署标记为失败。

重要

此文件中各项之间的空格的位置和数量很重要。如果间距不正确,CodeDeploy 会引发可能难以调试的错误。有关更多信息,请参阅 AppSpec File 间距.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值