一、目標
服務器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();
?>