keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

實驗目的:使用keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

實驗要求:客戶端請求的動態資源代理至動態資源web組,請求的靜態代理至靜態資源web組,啟用統計面信息并只對特定啟用統計面管理功能,啟用https安全連接

系統環境:CentOS 7.3、關閉selinux和清除iptables規則,AB主機各需要兩塊網卡,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目錄下,并將其屬主、屬組改為apachewordpress目錄下的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、DE、F主機上操作

1.G主機上導出的目錄掛載至/var/www/html目錄下

# mount.nfs 192.168.10.23:/data/application/web /var/www/html

2.安裝httpd、phpphp-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主機也作同樣配置)

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

3.編輯/etc/keepalived目錄下的keepalived.conf配置文件,作如下配置:

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

4.B主機的配置如下:

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

5.啟動haproxy、keepalived服務

# service haproxy start

# service keepalived start

五、安裝wordpress

1.在客戶端打開瀏覽器輸入地址:192.168.20.100/wordpress,填寫如圖所示的信息

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

2.登錄并測試發表文章,并查看日志文章,動態請求已經被代理至動態服務器組、靜態請求被代理至靜態服務器組;

六、啟用統計信息頁面,要求:只對192.168.20.10這個IP啟用管理功能,其他IP只能查看

1.編輯haproxy的配置文件,作如下配置(紅色方框內,兩臺調度器做同樣配置)

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

2.保存退出并重載配置

# service haproxy reload

3.192.168.20.10主機上,打開瀏覽器輸入192.168.20.100:9527/admin?stats,輸入用戶名和密碼后即可查看且對后端server擁有管理功能,如圖所示;

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

4.用其他地址的主機訪問此頁面,將只能查看,沒有管理功能

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

七、啟用haproxyhttps安全連接

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的配置文件,作如下配置(紅色方框內,兩臺調度器都做同樣配置):

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

5.保存退出并重載配置

# service haproxy reload

6.在客戶端測試,可成功訪問,如下圖

keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

原創文章,作者:人字拖,如若轉載,請注明出處:http://www.www58058.com/76173

(0)
人字拖人字拖
上一篇 2017-05-18 14:00
下一篇 2017-05-18 15:00

相關推薦

  • linux基礎之lvm操作流程

    linux基礎之lvm基本操作流程    LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本為:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝L…

    2017-03-19
  • nginx配置(三)

    ngx_http_upstream_module模塊     #分流The ngx_http_upstream_module module is used to define groups of servers that can be referenced by the proxy_pass, fastcgi_pass, uwsgi_pa…

    Linux干貨 2017-05-08
  • 馬哥教育網絡班21期-第四周課程練習

    Do one thing at a time,and do well. 小僧近期忙的去尿尿的時間都要擠出來…..! 無人能理解 zZzz 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 編輯/etc/group文件,添加組hadoop。 手動編輯/etc/pass…

    Linux干貨 2016-07-29
  • 恐怖的C++語言

    Linus曾經(2007年9月)在新聞組gmane.comp.version-control.git里和一個微軟的工程師(Dmitry Kakurin)爭執過用C還是用C++,當時的那個微軟的工程師主要是在做Git的Windows版,但他卻發現Git的源碼居然是C語言寫的,而不是C++,于是他(Dmitry Kakurin)在Linux社區里發貼表示對Lin…

    Linux干貨 2015-04-03
  • 八.Linux博客-2016年8月8日sed、vim

    格式說明: 操作 概念 命令 說明及舉例 八.sed、vim sed 文本編輯工具 行編輯器,每次取出一行在內存里處理,處理完成后屏幕打印。完成后再取出一行放到內存里處理,覆蓋原來內存中的行,循環。。 sed -n '3d' f1 把文件f1中的第三行刪掉并不在屏幕上顯示 sed -n&n…

    Linux干貨 2016-08-24
  • vim使用方法

    vim是vi的增強版本,具有比vimi更加強大的功能,對于尤其適合編寫腳本,下面總結一下vim的常用方法。 vim三種工作模式。         1. 編輯模式:          &nbs…

    2015-03-18

評論列表(1條)

欧美性久久久久