写点什么

WordPress 基于亚马逊云的部署实践(三)

作者:王坤祥
  • 2023-11-19
    北京
  • 本文字数:2059 字

    阅读完需:约 7 分钟

WordPress 基于亚马逊云的部署实践(三)

服务器配置

云服务器用于部署和运行 WordPress 服务。安装和运行该服务之前,需要对服务器进行一些准备。

首先通过跳板机连接到实例,然后下载 WordPress 安装软件包。

1.	升级软件以及内核sudo dnf update -y2.	使用以下命令下载并安装这些软件包。sudo dnf install wget php-mysqlnd httpd php-fpm php-mysqli mariadb105-server php-json php php-devel telnet -y3.	使用 wget 命令下载最新的 WordPress 安装包。wget https://wordpress.org/latest.tar.gz4.	解压并解档安装包。tar -xzf latest.tar.gz
复制代码


为安装 WordPress 配置数据库以及 web 服务

1.	启动Web 服务器。sudo systemctl start httpd2.	以 admin用户身份登录数据库服务器。这里使用我们申请的RDS实例地址。mysql -u admin –p –h wordpress-db-instance.cu2ogelpj1b2.rds.cn-north-1.amazonaws.com.cn3.	为 MySQL 数据库创建用户和密码。安装 WordPress 的过程将使用这些值与 MySQL 数据库通信。输入以下命令,以替换唯一的用户名和密码。CREATE USER 'wordpress-user'@'%' IDENTIFIED BY 'your_strong_password';4.	创建数据库。为数据库提供一个有意义的描述性名称,例如 wordpress-dbCREATE DATABASE `wordpress-db`;5.	对之前创建的 WordPress 用户授予数据库的完全访问权限。GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"%";6.	刷新数据库权限以接受所有更改。FLUSH PRIVILEGES;7.	退出 mysql 客户端。exit
复制代码


创建和编辑 wp-config.php 文件

WordPress 安装文件夹包含名为 wp-config-sample.php 的示例配置文件。接下来复制此文件进行编辑。

1.	将 wp-config-sample.php 文件复制为一个名为 wp-config.php 的文件。cp wordpress/wp-config-sample.php wordpress/wp-config.php2.	编辑 wp-config.php 文件。vim wordpress/wp-config.phpa.	查找定义 DB_NAME 的行并将 database_name_here 更改为define ('DB_NAME', 'wordpress-db');b.	查找定义 DB_USER 的行并将 username_here 更改为define ('DB_USER', 'wordpress-user');c.	查找定义 DB_PASSWORD 的行并将 password_here 更改为define ('DB_PASSWORD', 'your_strong_password');d.	查找定义 DB_HOST 的行并将 host_here更改为define ( 'DB_HOST', 'wordpress-db-instance.xxxxxxxxx.rds.cn-north-1.amazonaws.com.cn' );e.	保存文件并退出文本编辑器
复制代码


将 WordPress 文件安装到 Apache 文档根目录下

当前已解压了安装文件夹、创建了 MySQL 数据库和用户并自定义了 WordPress 配置文件,接下来将安装文件复制到 Web 服务器文档根目录,以便可以运行安装脚本完成安装。

如果希望 WordPress 在文档根目录下运行,需要复制 wordpress 安装目录的内容 (但不包括目录本身)

cp -r wordpress/* /var/www/html/
复制代码


WordPress permalink 需要使用 Apache .htaccess 文件才能正常工作,但默认情况下这些文件在 Amazon Linux 上处于禁用状态。以下过程可允许 Apache 文档根目录中的所有覆盖。

1. 使用文本编辑器vim打开文件。sudo vim /etc/httpd/conf/httpd.conf2. 找到以 <Directory "/var/www/html"> 开头的部分。在文本中将 AllowOverride None 行改为读取 AllowOverride All。3. 保存文件并退出文本编辑器。
复制代码


修改 Apache Web 服务器的文件权限

WordPress 中的某些可用功能要求具有对 Apache 文档根目录的写入权限,需要进行如下配置。

1.	将 /var/www 及其内容的文件所有权授予 apache 用户。sudo chown -R apache /var/www2.	将 /var/www 及其内容的组所有权授予 apache 组。sudo chgrp -R apache /var/www3.	更改 /var/www 及其子目录的目录权限,以添加组写入权限及设置未来子目录上的组 ID。sudo chmod 2775 /var/wwwfind /var/www -type d -exec sudo chmod 2775 {} \;4.	递归地更改 /var/www 及其子目录的文件权限。find /var/www -type f -exec sudo chmod 0644 {} \;
复制代码


配置挂载 EFS

登录wordpress实例服务器,使用如下命令安装amazon-efs-utils软件包。sudo yum install -y amazon-efs-utils
然后可以测试是否可以在该实例挂载成功,使用如下命令进行挂载测试。在home 目录下使用如下命令创建efs文件夹:mkdir efs
在当前目录进行手动挂载测试:sudo mount -t efs -o tls fs-07437cd010f664093:/ efs
使用如下命令查看挂载情况:df –h 或 mount –l
复制代码

使用 df –h 可以看到:


考虑到弹性伸缩服务启动新的实例服务器时,需要在服务器上配置自动挂载。配置步骤如下:

使用 vim 编辑器中打开 /etc/fstab 文件,在最后一行添加如下内容后推出保存

fs-07437cd010f664093:/ /root/efs  efs _netdev,noresvport,tls,iam 0 0     
复制代码

最后在命令行中使用 mount –a 命令进行挂载测试检验。


完成上述配置后,可以通过堡垒机,访问私有子网实例的 ip:80 端口访问 WordPress。选择简体中文语言,设置相关信息进行 WordPress 安装。安装完成后,即可进行访问。


当前,我们创建好了 MySQL 数据库实例的创建、EFS 文件系统的创建、EC2 实例的创建配置以及 WordPress 的部署测试。


后续章节,

用户头像

王坤祥

关注

日拱一卒,功不唐捐。 2017-10-17 加入

不懂热能的低温工程师不是好程序猿

评论

发布
暂无评论
WordPress 基于亚马逊云的部署实践(三)_AWS_王坤祥_InfoQ写作社区