實驗目的:使用keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用
實驗要求:客戶端請求的動態資源代理至動態資源web組,請求的靜態代理至靜態資源web組,啟用統計面信息并只對特定啟用統計面管理功能,啟用https安全連接
系統環境:CentOS 7.3、關閉selinux和清除iptables規則,A和B主機各需要兩塊網卡,eh0連接內網,eth1連接外網;
操作步驟:
一、配置IP
1.配置A主機的IP
# ip addr add dev eth0 192.168.10.3/24
2.配置B主機的IP
# ip addr add dev eth0 192.168.10.33/24
3.配置C主機的IP
# ip addr add dev eth0 192.168.10.2/24
4.配置D主機的IP
# ip addr add dev eth0 192.168.10.22/24
5.配置E主機的IP
# ip addr add dev eth0 192.168.10.4/24
6.配置F主機的IP
# ip addr add dev eth0 192.168.10.44/24
7.配置G主機的IP
# ip addr add dev eth0 192.168.10.23/24
二、配置NFS+Mysql
G主機上操作
1.安裝所需程序包
# yum -y install nfs-utils mysql
2.準備用戶apache(訪問NFS服務時映射為的用戶)
# useradd -u 48 apache
3.準備需要導出的目錄,且其屬主、屬組為apache
# install -o apache -g apache -d /data/application/web
4.下載wordpress程序包并解壓至/data/application/web目錄下,并將其屬主、屬組改為apache,wordpress目錄下的wp-content目錄的權限改為777(上傳圖片是需要寫權限)
# unzip wordpress-4.3.1.zh_CN.zip
# mv wordpress /data/application/web
# cd /data/application/web
# chown -R apache.apache wordpress
# chmod 777 wordpress/wp-content
5.編輯nfs配置文件,將/data/application/web目錄導出,允許192.168.10.0/24網段連接,導出屬性為rw,async,用戶映射為apache
# vim /etc/exports
/data/application/web 192.168.10.0/24(rw,async,anonuid=48,anongid=48)
6.啟動mysql服務,創建數據庫wpdb,并授權用戶wpuser對該數據庫下的所有表擁有所有權限
# service mysqld start
# mysql
mysql>CREATE DATABASE wpdb;
mysql>GRANT ALL ON wpdb.* ‘wpuser’@’%’ IDENTIFIED BY ‘wppasswd’;
mysql>FLUSH PRIVILEGES;
mysql>exit
7.啟動nfs服務并驗證導出的目錄是否成功
# service nfs start
# showmount -a
三、部署lamp
在C、D、E、F主機上操作
1.將G主機上導出的目錄掛載至/var/www/html目錄下
# mount.nfs 192.168.10.23:/data/application/web /var/www/html
2.安裝httpd、php、php-mysql
# yum -y install httpd php php-mysql
3.啟動http服務
# service httpd start
四、部署keepalive+haproxy
A主機上操作
1.安裝keepalived、haproxy
# yum -y install haproxy keepalived
2.編輯/etc/haproxy目錄下的haproxy.cfg配置文件,作如下配置(B主機也作同樣配置)
3.編輯/etc/keepalived目錄下的keepalived.conf配置文件,作如下配置:
4.B主機的配置如下:
5.啟動haproxy、keepalived服務
# service haproxy start
# service keepalived start
五、安裝wordpress
1.在客戶端打開瀏覽器輸入地址:192.168.20.100/wordpress,填寫如圖所示的信息
2.登錄并測試發表文章,并查看日志文章,動態請求已經被代理至動態服務器組、靜態請求被代理至靜態服務器組;
六、啟用統計信息頁面,要求:只對192.168.20.10這個IP啟用管理功能,其他IP只能查看
1.編輯haproxy的配置文件,作如下配置(紅色方框內,兩臺調度器做同樣配置)
2.保存退出并重載配置
# service haproxy reload
3.在192.168.20.10主機上,打開瀏覽器輸入192.168.20.100:9527/admin?stats,輸入用戶名和密碼后即可查看且對后端server擁有管理功能,如圖所示;
4.用其他地址的主機訪問此頁面,將只能查看,沒有管理功能
七、啟用haproxy的https安全連接
1.構建私有CA
# touch /etc/pki/CA/index.txt
# echo 01 > /etc/pki/CA/serial
# (umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
# openssl req -x509 -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 7300
2.生成證書請求
# (umask 066; openssl genrsa -out /etc/haproxy/ha.key 1048)
# openssl req -new -key /etc/haproxy/ha.key -out /etc/haproxy/ha.csr
# openssl ca -in /etc/haproxy/ha.csr -out /etc/haproxy/ha.crt -days 365
3.合并私鑰和證書
# cd /etc/proxy
# cat ha.key ha.crt > ha.pem
4.編輯haproxy的配置文件,作如下配置(紅色方框內,兩臺調度器都做同樣配置):
5.保存退出并重載配置
# service haproxy reload
6.在客戶端測試,可成功訪問,如下圖
原創文章,作者:人字拖,如若轉載,請注明出處:http://www.www58058.com/76173
66666學習了