RedHat7.4 Yum环境下搭建LAMP实现库站分离(部署wordpress博客)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: RedHat7.4 Yum环境下搭建LAMP实现库站分离(部署wordpress博客)

目录

什么是LAMP?

LAMP 架构是目前成熟的企业网站应用模式之一,能够提供动态 Web 站点服务及其应用开发环境

具体包括:

  1. Linux 操作系统
  2. Apache 网站服务器
  3. MySQL(有时也指MariaDB,数据库软件) 数据库服务器
  4. PHP(有时也是指Perl或Python)网页编程语言

优点

  1. 成本低廉
  2. 可定制
  3. 易于开发
  4. 方便易用
  5. 安全和稳定

在构建 LAMP 平台时,各组件的安装顺序依次为:Linux、Apache、MySQL、PHP

其中 Apache 和 MySQL 的安装没有严格顺序;PHP一般放在最后,负责沟通 web 服务器和数据库系统。

实验准备(在VMware中进行)

实验说明:因为我们这里要做库站分离,所以单独在一台主机上安装MySQL(或MariaDB)

  • 主机A:RHEL7.4 安装Apache和PHP
  • IP地址:192.168.112.187
  • 主机B:RHEL7.4 安装MySQL(或者MariaDB)
  • IP地址:192.168.112.186

主机A:

一、关闭防火墙及Selinux

[root@localhost yum.repos.d]# systemctl stop firewalld.service 
[root@localhost yum.repos.d]# systemctl disable firewalld.service 
[root@localhost yum.repos.d]# setenforce 0
[root@localhost yum.repos.d]# vim /etc/selinux/config 
SELINUX=disabled   ---改为disabled

二、更换成阿里云yum源

查询已安装的yum

[root@localhost ~]# rpm -qa | grep yum
PackageKit-yum-1.1.5-1.el7.x86_64
yum-3.4.3-154.el7.noarch
yum-rhn-plugin-2.0.1-9.el7.noarch
yum-utils-1.1.31-42.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-langpacks-0.4.2-7.el7.noarch

使用root权限卸载已安装的yum源

[root@localhost ~]# rpm -qa | grep yum | xargs rpm -e --nodeps
warning: /etc/yum/pluginconf.d/langpacks.conf saved as /etc/yum/pluginconf.d/langpacks.conf.rpmsave

下载并安装阿里的yum源rpm包

(浏览器打开网址:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages

然后一个一个的去搜索下载到本地

最后到Linux里面去建一个rpm文件,然后把下载好的包复制进去)

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-161.el7.centos.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-50.el7.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm

查看rpm包

[root@localhost ~]#  mkdir rpm
[root@localhost ~]# cd rpm/
[root@localhost rpm]# ls
python-urlgrabber-3.10-10.el7.noarch.rpm
yum-3.4.3-168.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
yum-utils-1.1.31-54.el7_8.noarch.rpm

安装(必须要强制安装)

[root@localhost rpm]# rpm -ivh *.rpm  --force --nodeps
warning: python-urlgrabber-3.10-10.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 20%]
   2:python-urlgrabber-3.10-10.el7    ################################# [ 40%]
   3:yum-plugin-fastestmirror-1.1.31-5################################# [ 60%]
   4:yum-3.4.3-168.el7.centos         ################################# [ 80%]
   5:yum-utils-1.1.31-54.el7_8        ################################# [100%]

下载阿里镜像到/etc/yum.repos.d/目录下

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
--2020-12-21 14:36:48--  http://mirrors.aliyun.com/repo/Centos-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 112.19.3.184, 112.19.3.182, 112.19.3.183, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|112.19.3.184|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2523 (2.5K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’
100%[======================================>] 2,523       --.-K/s   in 0s      
2020-12-21 14:36:48 (140 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2523/2523]

修改Centos-7.repo文件将所有$releasever替换为7

[root@localhost yum.repos.d]# vim CentOS-Base.repo 
按Ctrl+:
输入:%s/$releasever/7/g

清除缓存并重新生成

[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache 

更新yum包

[root@localhost yum.repos.d]# yum update

三、安装Apache

安装

[root@localhost ~]# yum install httpd

重启

[root@localhost yum.repos.d]# systemctl restart httpd
[root@localhost yum.repos.d]# systemctl enable httpd

打开浏览器输入IP地址访问

image.png

编辑 /etc/httpd/conf/httpd.conf 配置文件,修改以下四个地方

1、搜索 ServerName 修改为对应的 IP 地址

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 
#ServerName www.example.com:80   ---这一行是被注释掉的,而且要改为本机IP
ServerName 192.168.112.146:80    ---改为这个

2、搜索 DirectoryIndex 添加 index.php

image.png

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

3、整合APACHE和PHP使APACHE支持PHP

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php             ---添加这一行
    AddType application/x-httpd-php-source .phps     ---还有这一行

image.png

4、在末尾添加以下内容

<VirtualHost *:80>
    DocumentRoot "/var/www/html/"   
    ServerName 192.168.112.146   ---注意IP地址 
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.112.187:9000/var/www/html/$1
    <Directory "/var/www/html/">
        Options none
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

image.png

确认无误保存退出

查看配置文件是否有语法错误

[root@liza ~]# httpd -t
Syntax OK

启动 Httpd

[root@liza ~]# systemctl restart httpd

四、安装PHP

安装php7的YUM源

[root@liza ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@liza ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装PHP7.2

[root@liza ~]# yum install  php72w php72w-cli php72w-common php72w-gd php72w-ldap php72mbstring php72w-mcrypt php72w-mysql php72w-pdow -y

安装php-fpm并启动

[root@liza ~]# yum install php72w-fpm php72w-opcache -y
[root@liza ~]# systemctl restart php-fpm.service
[root@liza ~]# systemctl enable php-fpm.service
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

编辑 php 配置文件

[root@liza ~]# vim /etc/php-fpm.d/www.conf 
设置对应的IP监听地址
listen = 192.168.112.187:9000

image.png

[root@liza ~]# vim /etc/php-fpm.d/www.conf 
设置 httpd 服务器 IP地址  
listen.allowed_clients = 192.168.112.187  

image.png

重启 PHP

[root@liza ~]# systemctl restart php-fpm.service

查看状态

[root@liza ~]# systemctl status php-fpm.service 

image.png

编辑Apache测试网页

[root@liza ~]# cd /var/www/html/
[root@liza html]# vim index.html 
<html>Hello World </html>

打开浏览器测试

image.png

编辑PHP测试网站

[root@liza ~]# cd /var/www/html/
[root@liza html]# vim index.php 
<?php
        phpinfo();
?>

打开浏览器测试

image.png

主机B:

一、关闭防火墙及Selinux

[root@liza ~]# systemctl stop firewalld.service 
[root@liza ~]# systemctl disable firewalld.service 
[root@liza ~]# setenforce 0
[root@liza ~]# vim /etc/selinux/config 
SELINUX=disabled   ---改为disabled

二、更换成阿里云yum源

这里和主机A的步骤一样

三、安装MySQL

下载安装MySQL

[root@liza ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
[root@liza ~]# rpm -Uvh mysql80-community-release-el7-2.noarch.rpm
[root@liza ~]# yum install mysql-community-server -y

启动MySQL

[root@liza ~]# systemctl restart mysqld
[root@liza ~]# systemctl enable mysqld
[root@liza ~]# systemctl status mysqld

通过grep过滤出他的默认密码

[root@liza ~]# grep 'password' /var/log/mysqld.log
2021-01-22T06:56:39.471382Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: hetYQdNhZ9/1

使用默认密码登录数据库

[root@liza ~]# mysql -uroot -p'hetYQdNhZ9/1'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.23
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

更改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXGC.lab123';
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye

重启MySQL数据库并设置开机自启

[root@liza ~]# systemctl restart mysqld
[root@liza ~]# systemctl enable mysqld

创建MySQL数据库管理员

[root@liza ~]# mysql -uroot -p'XXGC.lab123'
mysql> create user 'dbadmin'@'%' identified with mysql_native_password by 'XXGC.lab123';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all on *.* to 'dbadmin'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> grant GRANT OPTION  on *.* to 'dbadmin'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

验证是否可以远程登录

[root@liza ~]# mysql -h192.168.112.186 -P3306 -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'liza' (using password: YES)
[root@liza ~]# mysql -h192.168.112.186 -P3306 -udbadmin -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.23 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

三、实现php连接mysql

回到主机A上面

测试是否可以连接MySQL数据库文件

[root@liza ~]# cd /var/www/html/
[root@liza html]# vim mysql.php
<?PHP
    $conn=mysqli_connect("192.168.112.186","dbadmin","XXGC.lab123");
    if($conn){
        echo"ok";
    }else{
        echo"error";    
    }
?>

并在浏览器上访问

image.png

部署wordpress博客

一、下载安装包

可进入网站自行下载 或上传Discuz压缩包到虚拟机

地址为:https://cn.wordpress.org/download/

image.png

下载好以后复制到主机A的rpm包文件里面

image.png

解压

[root@liza rpm]# tar -zxvf wordpress-5.6-zh_CN.tar.gz 
[root@liza rpm]# mv wordpress /var/www/html/             ---把包移动到Apache网页下

解决所有文件权限,需要可写权限

[root@liza ~]# cd /var/www/html/
[root@liza html]# chmod -R 777 wordpress/

建立Wordppress博客所用数据库

[root@liza ~]# mysql -uroot -p'XXGC.lab123'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.23 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database wordpress;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)

二、安装博客

在客户端使用浏览器打开

网站地址:http://192.168.112.187/wordpress

image.png

image.png

image.png

image.png

image.png

image.png

image.png

到这里就结束了



相关文章
|
1月前
WordPress小白傻瓜式一键搭建博客个人网站详细教程
用宝塔功能来一键搭建WordPress博客网站。 最详细教程! 整个过程简单、易用,即使是零基础用户也能轻松上手。
150 1
|
5月前
【wordpress教程】wordpress博客网站添加非法关键词拦截
有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。
90 1
|
6月前
|
移动开发 前端开发 语音技术
WordPress轻拟物博客主题niRvana 4.5.3(自适应手机端)
WordPress轻拟物主题niRvana,设计上不再趋从于现有的扁平风,我认为是时候从极致的扁平稍微向拟物致敬了,因此采用了轻拟物的风格。niRvana 设计和样式更加新颖,一眼看上去就会被他吸引住,主题配色也非常舒服。而且它有两个功能特别有意思,一个是自动根据文章特色图片识别出图片的主色调,在首页、文章分类页用最美的方式显示滚动图片,另一个则是文章支持语音朗读。主题细腻有质感,手机端体验非常好。
95 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
76 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
49 3
|
2月前
|
域名解析 弹性计算 程序员
想要轻松地搭建一个即开即用的WordPress博客吗?借助宝塔面板镜像+阿里云ECS,迅速拥有自己的个人博客
拥有个人博客是每位程序员的梦想,但对服务器不熟悉的初学者而言,搭建博客颇具挑战。本文介绍利用阿里云市场的宝塔面板镜像与ECS云服务器,轻松搭建WordPress博客的方法,让您快速拥有专属博客空间。通过简单的操作步骤,即使是新手也能轻松上手,实现从零到有的博客搭建过程。
230 3
|
7月前
|
Java Android开发
java利用xml-rpc协议操作wordpress博客
java利用xml-rpc协议操作wordpress博客
92 1
|
2月前
|
域名解析 安全 网络安全
阿里云服务器WordPress环境上安装SSL证书
阿里云服务器WordPress环境上安装SSL证书
|
2月前
|
弹性计算 JSON 关系型数据库
使用ROS模板基于ECS和RDS创建WordPress环境
使用ROS模板基于ECS和RDS创建WordPress环境
|
3月前
|
PHP SEO
WordPress博客每日定时发布 每天60秒读懂世界源码
WordPress博客每日定时发布 每天60秒读懂世界源码
65 0
WordPress博客每日定时发布 每天60秒读懂世界源码