基於NFS和autofs的LAMP

一、目標

服務器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();
?>

七、注意

一定要關閉防火牆和selinux

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章