一、目标
服务器A:httpd服务+php服务 IP:172.17.16.173
服务器B:httpd服务+php服务+mysql服务 IP:172.17.17.173
服务器C:nfs服务+DNS IP:172.17.16.169
服务器A和服务器B的服务内容相同
通过DNS解析可以随机使用A或B, A和B使用同一个数据库B,使用同一个网页内容C。
二、配置服务器C(DNS和NFS)
1.DNS服务
yum install bind
vim /etc/named.conf
#修改下面4行
#listen-on port 53 { 127.0.0.1; };
#allow-query { localhost; };
dnssec-enable no;
dnssec-validation no;
vim /etc/named.rfc1912.zones
#添加下面几行
zone "muzigan.com" IN {
type master;
file "named.muzigan.zone";
};
vim /var/named/named.muzigan.zone
$TTL 1D
@ IN SOA dns1 mail.muzigan.com (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns1
dns1 A 172.17.16.169
www A 172.17.17.173
www A 172.17.16.173
service named start
2.NFS服务器
yum install nfs-utils
mkdir /httpd
vim /etc/exports
#添加下面一行
/httpd 172.17.16.173(rw,anonuid=498,anongid=498) 172.17.17.173(rw,all_squash,anonuid=498,anongid=498)
#启动服务
service rpcbind start
service nfs start
三、服务器B(httpd+php+mysql)
1.mysql服务
yum install mariadb-server
systemctl restart mariadb
mysql_secure_installation
mysql -uroot -p
create database httpd ;
grant all on httpd.* to http@'%' IDENTIFIED BY 'httpd';
FLUSH PRIVILEGES;
2.httpd+php服务
yum install httpd php-fpm php-mysql
vim /etc/httpd/conf.d/php-fpm.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$fcgi://127.0.0.1:9000/httpd/$1
systemctl restart httpd php-fpm
四、服务器A(httpd服务+php服务)
服务器A:httpd服务+php服务
yum install httpd php-fpm php-mysql
vim /etc/httpd/conf.d/php-fpm.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$fcgi://127.0.0.1:9000/httpd/$1
systemctl restart httpd php-fpm
五、使用autofs服务挂载httpd服务站点内容
1.在服务器A和服务器B上用autofs挂载
绝对路径方式
服务器A和B操作一样
yum install autofs
vim /etc/auto.master
/- /etc/autofs.d/httpd
mkdir /etc/autofs.d
vim /etc/autofs.d/httpd
/httpd -fstype=nfs 172.17.16.169:/httpd
systemctl restart autofs
六、测试
1.php文件放到-服务器C的nfs共享目录中
其中数据库指向服务器B
<?php
$mysqli=new mysqli("172.17.17.173","http","httpd");
if(mysqli_connect_errno()){
echo "连接数据库失败!";
$mysqli=null;
exit;
}
echo "连接数据库成功!只能连接mysql";
$mysqli->close();
?>