当前位置: 首页 > article >正文

传统架构与集群架构搭建LAMP环境并部署WordPress服务

目录

一.单节点搭建LAMP环境并部署Word Press服务

1.基础环境准备

1.1网卡配置

1.2关闭防火墙和SElinux服务

1.3配置本地yum源

2.安装Apache服务

3.安装PHP服务

3.1安装PHP及其模块

3.2编写测试界面文件

4.安装并配置数据库服务

4.1安装 MariaDB 服务

4.2初始化 MariaDB 服务

4.3创建数据库

5.安装WordPress

二.集群架构搭建LAMP环境并部署WordPress

1.基础环境准备

2.安装服务

Web01节点:

Database节点:

Web02节点:

3.验证wordpress服务


一.单节点搭建LAMP环境并部署Word Press服务

本任务的目标为在传统架构下搭建LAMP

(Linux+Apache+MySQL/MariaDB+PHP,流行的开源软件组合)环境并部署 WordPress 服务。

本任务在安装好的单台 openEuler 22.09 系统虚拟机中模拟。

虚拟机信息:

openEuler22.09 操作系统的虚拟机,

硬件信息为 2CPU、2GB内存、100GB系统磁盘

节点规划:

虚拟机版本

主机名

IP地址

安装服务

OpenEuler 22.09

Web01

192.168.77.21

Apache、PHP、Mariadb

1.基础环境准备

1.1网卡配置

[root@web01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=1884cbcf-a0a5-4dd6-a88a-ba29a21b9fc8

DEVICE=ens33

ONBOOT=yes

IPADDR=192.168.77.21

NETMASK=255.255.255.0

GATEWAY=192.168.77.2

DNS1=114.114.114.114

1.2关闭防火墙和SElinux服务

# 关闭防火墙并关闭自启动

[root@web01 ~]# systemctl disable --now firewalld

# 关闭SELinux服务

[root@web01 ~]# setenforce 0

[root@web01 ~]# vi /etc/selinux/config

# 将 SELINUX=enforcing 改成 SELINUX=disabled

1.3配置本地yum源

[root@web01 ~]# sed -i 's|http://repo.openeuler.org/|https://archives.openeuler.openatom.cn/|g' /etc/yum.repos.d/openEuler.repo

2.安装Apache服务

安装Apache服务并启动

[root@web01 ~]# dnf install -y httpd

[root@web01 ~]# systemctl enable --now httpd

[root@web01 ~]# apachectl -v

到浏览器输入虚拟机 IP 地址进行 Apache 访问测试,测试成功界面如图所示

3.安装PHP服务

3.1安装PHP及其模块

[root@web01 ~]# dnf -y install php php-common php-cli php-gd php-pdo php-devel php-xml php-mysqlnd

3.2编写测试界面文件

[root@web01 ~]# vi /var/www/html/php-test.php

<?php

phpinfo();

?>

重启 Apache 服务,并到浏览器中访问 http://192.168.77.21/php-test.php,

PHP 测试成功界面如图所示

[root@web01 ~]# systemctl restart httpd

4.安装并配置数据库服务

4.1安装 MariaDB 服务

安装数据库服务相关的软件包,设置开机自启并立即启动服务。

# 安装mariadb数据库

[root@web01 ~]# dnf -y install mariadb mariadb-server

# 启动数据库并设置自启动

[root@web01 ~]# systemctl enable --now mariadb.service

4.2初始化 MariaDB 服务

使用mysql_secure_installation命令初始化数据库

[root@web01 ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user. If you've just installed MariaDB, and

haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody

can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n

 ... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y

 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y

 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y

 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

4.3创建数据库

创建 WordPress 数据库并开启 root 用户远程访问的权限。

[root@web01 ~]# mysql -uroot -p000000

# 创建wordpress数据库

MariaDB [(none)]> create database wordpress;

# 授权访问

MariaDB [(none)]> grant all privileges on wordpress.* to root@'%' identified by '000000';

MariaDB [(none)]> quit

5.安装WordPress

使用wget命令从wordpress官网下载压缩包

[root@web01 ~]# wget https://cn.wordpress.org/wordpress-6.7.2-zh_CN.tar.gz

然后将压缩包解压到 Apache 网页文件夹中

[root@web01 ~]# tar -xvf wordpress-6.7.2-zh_CN.tar.gz -C /var/www/html/

对解压出来的 wordpress 文件夹赋予权限

# 设置 http 根目录/var/www/的所有组为 apache

[root@web01 ~]# chown -R :apache /var/www/

# 设置 http 根目录/var/www 的所有者为 apache

[root@web01 ~]# chown -R apache /var/www/

# 设置 http 根目录/var/www 的组下的所有用户具有读写权限

[root@web01 ~]# chmod -R 775 /var/www/

重启Apache服务

[root@web01 ~]# systemctl restart httpd

在浏览器中访问 http://192.168.77.21/wordpress 界面查看,可以访问到如图所示的 WordPress 测试界面。

接下来,输入数据库相关配置信息即可完成数据库连接,如图所示。

数据库连接成功后,单击“运行安装程序”继续安装

自定义站点相关的表单,例如登录用户名及密码等,如图所示。

至此,WordPress 部署成功,如图所示。

到此单节点wordpress部署完成

二.集群架构搭建LAMP环境并部署WordPress

为了进一步说明集群架构相较于传统架构的优越性,本任务在任务一的基础上,安装三台 openEuler22.09 系统的虚拟机,拓展集群架构,完成 WordPress 应用部署。每台虚拟机所安装的服务及节点基础配置情况如下

虚拟机信息:

openEuler22.09 操作系统的虚拟机,

硬件信息为 2CPU、2GB内存、100GB系统磁盘

节点规划:

虚拟机版本

主机名

IP地址

安装服务

OpenEuler 22.09

Web01

192.168.77.21

Apache、PHP

OpenEuler 22.09

Database

192.168.77.22

Mariadb

OpenEuler 22.09

Web02

192.168.77.23

Apache、PHP

1.基础环境准备

参照任务一中基础环境准备的部分,完成三台虚拟机基础环境配置,此处不再赘述。

2.安装服务

Web01节点:

因为web01节点使用的是任务一的机器所以要先删除掉wordpress服务再重新安装,其他就不做配置。

[root@web01 ~]# rm -rf /var/www/html/wordpress/

[root@web01 ~]# tar -xvf wordpress-6.7.2-zh_CN.tar.gz -C /var/www/html/

[root@web01 ~]# chown -R :apache /var/www/

[root@web01 ~]# chown -R apache /var/www/

[root@web01 ~]# chmod -R 775 /var/www/

[root@web01 ~]# systemctl restart httpd

Database节点:

安装数据库

# 配置过程和任务一一样

[root@database ~]# dnf -y install mariadb mariadb-server

[root@database ~]# systemctl enable --now mariadb.service

[root@database ~]# mysql_secure_installation

[root@database ~]# mysql -uroot -p000000

MariaDB [(none)]> create database wordpress;

MariaDB [(none)]> grant all privileges on wordpress.* to root@'%' identified by '000000';

Web02节点:

安装Apache服务

[root@web02 ~]# dnf -y install httpd

[root@web02 ~]# systemctl enable --now httpd

[root@web02 ~]# apachectl -v

安装PHP服务

[root@web02 ~]# dnf -y install php php-common php-cli php-gd php-pdo php-devel php-xml php-mysqlnd

编写测试界面文件

[root@web02 ~]# vi /var/www/html/php-test.php

<?php

phpinfo();

?>

重启 Apache 服务

[root@web02 ~]# systemctl restart httpd

安装wordpress服务

[root@web02 ~]# wget https://cn.wordpress.org/wordpress-6.7.2-zh_CN.tar.gz

[root@web02 ~]# tar -xvf wordpress-6.7.2-zh_CN.tar.gz -C /var/www/html/

[root@web02 ~]# chown -R :apache /var/www/

[root@web02 ~]# chown -R apache /var/www/

[root@web02 ~]# chmod -R 775 /var/www/

重启Apache服务

[root@web02 ~]# systemctl restart httpd

3.验证wordpress服务

我们在浏览器中搜索192.168.77.21/wordpress和192.168.77.23/wordpress可以进入到如下界面

我们先在192.168.77.21网页进行操作

注意数据库主机部分要填database节点的IP

根据提示继续往下操作

输入用户名、密码和邮箱

然后就能进入到wordpress界面

然后我们切换到192.168.77.23页面

注意这里的数据库主机也是填database节点的IP

点击提交后会发现显示已经安装过

这说明 web02 节点已经连接上了 database 节点的 MariaDB 数据库

web02 节点验证成功,直接单击“登录”便可以正常访问站点

即使把 web01 节点的 Apache 服务关闭,web02 节点的 WordPress 仍然正常工作,如图所示。

[root@web01 ~]# systemctl stop httpd

Database节点验证

在 database 节点,登录 MariaDB 数据库,查看数据库列表信息,如下所示。

[root@database ~]# mysql -uroot -p000000

MariaDB [(none)]> show databases;

进入“wordpress”数据库查看表单详情,结果如下所示,发现 web01 和 web02 的用户数据已经录入数据库中,说明在集群架构下部署 WordPress 应用是有效的。

MariaDB [(none)]> use wordpress

MariaDB [wordpress]> select * from wp_users;

到此集群架构部署wordpress完成

本次所讲的部署wordpress内容较为简单,本意其实是理解传统架构和集群架构之间的联系与区别

下章将会讲解在open stack云平台上部署wordpress 讲完这部分你将会对架构这方面有更好的理解。


http://www.kler.cn/a/574519.html

相关文章:

  • 【LeetCode 热题 100】3. 无重复字符的最长子串 | python 【中等】
  • Potplayer 怎么用鼠标左键单击播放暂停
  • GitHub教程
  • 深入理解CAS与乐观锁:Java高并发编程实战指南
  • 视频输入设备-V4L2的开发流程简述
  • css梯形tab
  • SpringMVC请求映射:@RequestMapping的高级用法
  • js 全局的 isNaN和Number.isNaN的区别
  • 深度学习模型组件-RevNorm-可逆归一化(Reversible Normalization)
  • 批量修改或设置 Word 标题、主题、标记、作者、总编辑时间等元数据
  • 蓝桥杯C组真题——巧克力
  • 【3.2-3.8学习周报】
  • MacOS Big Sur 11 新机安装brew wget python3.12 exo
  • Dockerfile概述及编辑
  • 【Oracle学习笔记】2.数据表
  • 2025-03-06 学习记录--C/C++-PTA 习题6-6 使用函数输出一个整数的逆序数
  • 深度解码!清华大学第六弹《AIGC发展研究3.0版》
  • 网络协议:HTTP协议
  • 23中设计模式之观察者模式
  • 计算机基础:二进制基础05,八进制简介