实现功能:
需要三台虚拟机,一台作为MySQL数据库,一台为NFS.一台创建虚拟主机,做workpress主机,让两台主机动态数据访问同一数据库,静态数据访问同一NFS服务器。
主机一:172.16.18.1(WordPress1 ) 172.16.18.1 (WordPress2 )
主机二:172.16.18.5 (NFS)
主机三:172.16.249.124 (MySQL)
环境搭建:
(一):配置NFS
服务端端配置:
服务器IP:172.16.18.5
在NFS服务器端安装nfs-utils
编辑配置文件:/etc/exports
/nfsserver 172.16.0.0/16(rw,async,no_root_squash)
创建共享目录/nfsserver
mkdir /nfsserver
给共享目录apache用户的rwx权限:
setfacl -m u:apache:rwx /nfsserver
重启服务:service nfs restart
客户端:
创建/web/nfs挂载目录:
showmount -a 172.16.18.5 查看共享的NFS服务。
mount -t nfs 172.16.18.5:/nfsserver /web/nfs
在nfs共享目录中创建wp1,wp2目录。
mkdir /nfsserver/{wp1,wp2}
(二):创建2台虚拟主机:
首先我们要确保本机的httpd服务正常:此服务配置可以自己编译安装最新版的Apache,也可以直接安装rpm包
编译配置文件httpd.conf
虚拟主机基于IP访问,地址为(host1)172.16.18.1 、(host2)172.16.18.2
我们以http2.4为例配置:添加虚拟主机。具体编译安装步奏见上一篇博文。
<VirtualHost 172.16.18.1:80> ServerAdmin [email protected] DocumentRoot /web/nfs/wp1 ServerName www.workpress1.com ErrorLog /var/log/httpd/workpress1.err CustomLog /var/log/httpd/workpress1.access commen <Directory "/web/nfs/wp1"> Require all granted </Directory> </VitualHost> <VirtualHost 172.16.18.2:80> ServerAdmin [email protected] DocumentRoot /web/nfs/wp2 ServerName www.workpress2.com ErrorLog /var/log/httpd/workpress2.err CustomLog /var/log/httpd/workpress2.access commen <Directory "/web/nfs/wp2"> Require all granted </Directory> </VirtualHost>
注销#DocumentRoot “ path/to”
给本地配IP:172.16.18.{1,2}
启动service httpd2.4 restart
在/web/nfs/{wp1,wp2}下创建index.html
wp1/index.html <html> <h1> workpress1</h1> </html> wp2/index.html <html> <h1> workpress2</h1> </html>
访问:
(三):安装php模块
安装php,让php基于模块来运行。
配置apache,/etc/http2.4/httpd.conf 让Apache可以识别php
1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。
(四):安装数据库:
在centos7上我们选择yum包安装。
提供配置文件:
cp support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig --list mysqld cp support-files/my-large.cnf /etc/my.cnf # vim /etc/my.cnf 添加下边参数指定数据目录 datadir=/mydata/data
进入mysql,创建用户给予所有权限,对所有库有所有权限。
GRANT ALL ON *.* 'wp3'@'172.16.%.%' IDENTIFIED BY 'wp3'
关闭防火墙:systemctl stop firewalld
[root@localhost mysql]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 2 Server version: 5.5.39-MariaDB MariaDB Serve Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
[root@localhost ~]# mysql MariaDB [mysql]> grant all on *.* to ‘wp3’@'172.16.%.%' identified by 'wp3';
二:安装WordPress
复制wordpress程序包到/web/nfs/{wp1,wp2}
解压.复制wp-config-sample.php为wp-config.php
vim wp-config.php
wp1与wp2配置都一样。
访问OK!