wordpress和discuz的負載均衡
實驗目的:利用lvs-dr模型實現wordpress和discuz的負載均衡
實驗要求:客戶端訪問wordpress或discuz服務器時,無論被調度至哪臺RS上,其會話和訪問的頁面都應保持一致;
實驗環境:一臺server用作VS,兩臺server用作RS,一臺server用于部署mysql、NFS、wordpress、discuz服務;
注意:由于使用dr模型,因此在配置ip時VS和RS上都需要配置兩個IP(dip配置在網卡上、vip配置在回環網卡的別名上),而在配置vip之前須先修改內核參數arp_announce、arp_ignore
操作步驟:
一、配置IP
1.配置A主機的IP及別名IP
# ip addr add dev eth0 192.168.10.2/24
# ip addr add dev eth0 192.168.10.254/32 label eth0:0 broadcast 192.168.10.254
2.配置B主機的IP,修改內核參數和回環的IP
# ip addr add dev eth0 192.168.10.3/24
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
# ip addr add dev lo 192.168.10.254/32 label lo:0 broadcast 192.168.10.254
3.配置C主機的IP,修改內核參數和回環的IP
# ip addr add dev eth0 192.168.10.4/24
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/all/apr_announce
# ip addr add dev lo 192.168.10.254/32 label lo:0 broadcast 192.168.10.254
4.配置D主機的IP
# ip addr add dev eth0 192.168.10.5/24
二、配置集群
A主機上操作
1.安裝ipvsadm工具
# yum -y install ipvsadm
2.配置VS,調度算法為sh
# ipvsadm -A -t 192.168.10.254:80 -s sh
3.配置RS,LVS類型為DR
# ipvsadm -a -t 192.168.10.254:80 -r 192.168.10.3 -g
# ipvsadm -a -t 192.168.10.254:80 -r 192.168.10.4 -g
三、部署NFS、mysql
D主機上操作
1.安裝所需軟件包
# yum -y install nfs-utils mysql-server
2.準備用戶apache(訪問NFS服務時映射為的用戶)
# useradd -u 48 apache
3.準備需要導出的目錄,且其屬主、屬組為apahce
# 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.下載Discuz程序包并解壓至/data/application/web目錄下,并將其屬主、屬組改為apache # tar xvf Discuz-tar.xz
# mv upload /data/applicatiion/web
# cd /data/application/web
# chown -R apache.apache upload
6.編輯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)
7.啟動mysql服務,創建數據庫wpdb和dzdb,并分別授權用戶wpuser對wpdb數據庫下的所有表擁有所有權限,dzuser對dzdb數據庫下的所有表擁有所有權限;
# systemctl start mariadb
# mysql
mysql>CREATE DATABASE wpdb;
mysql>CREATE DATABASE dzdb;
mysql>GRANT ALL ON wpdb.* TO ‘wpuser’@’192.168.10.%’ IDENTIFIED BY ‘wppasswd’;
mysql>GRANT ALL ON dzdb.* TO ‘dzuser’@’192.168.10.%’ IDENTIFIED BY ‘dzpasswd’;
mysql>FLUSH PRIVILEGES;
8.關閉selinux和清除防火墻規則
# setenforce 0
# iptables -F
9.啟動nfs服務
# systemctl start nfs
四、部署lamp
B、C主機上操作
1.將D主機上導出的目錄掛載至/var/www/html目錄下
# mount.nfs 192.168.10.5:/data/application/web /var/www/html
2.安裝httpd、php、php-mysql
# yum -y install httpd php php-mysql
3.啟動http服務
# service httpd start
驗證(由于沒有路由,因此從Client不能訪問。可在服務器網段任意選擇一臺主機測試)
五、安裝wordpress
1.在Client主機上打開瀏覽器輸入地址:192.168.10.254/wordpress
數據庫名:wpdb
用戶名:wpuser
密碼:wppasswd
數據庫主機:192.168.10.5
六、安裝Discuz
1.在Client主機上打開瀏覽器輸入地址:192.168.10.254/upload/install/index.php,根據提示安裝即可。
2.訪問管理中心,在瀏覽器中輸入地址:192.168.10.254/upload/uc_server,選擇“管理員”,隨后輸入管理員帳號和密碼即可訪問。
原創文章,作者:人字拖,如若轉載,請注明出處:http://www.www58058.com/75476