nginx+keepalived構建負載均衡代理服務器

實驗環境:

1、centos7.3 centos6.8
2、兩臺VS提供nginx代理和keepalived
3、兩臺RS提供httpd服務并部署wordpress
4、另外一臺提供Mysql數據庫服務

實驗拓撲圖:

nginx+keepalived構建負載均衡代理服務器

拓撲圖

實驗步驟

1、在vs1(172.18.251.4)上配置,用yum安裝keepalived和nginx

yum install -y keepalived nginx

2、配置vs1中keepalived配置文件

vim /etc/keepalived/keepalived.com

配置keepalived.com 實現vs1為主服務提供VIP:172.18.10.82,vs2為備用的,這里提供vs1主備的配置,vs2上只需要修改:

state BACKUP
priority 98

通過嵌入腳本獲取nginx的進程狀況來調整主備的工作模式。
具體配置如下:

nginx+keepalived構建負載均衡代理服務器

keepalived配置.jpg

通過寫通知腳本發送郵件給root,具體腳本如下:

nginx+keepalived構建負載均衡代理服務器

notify


3、配置nginx
編輯nginx的配置文件,實現nginx反向代理功能

vim /etc/nginx/conf/nginx.conf

修改nginx.conf文件

nginx+keepalived構建負載均衡代理服務器

nginx.conf


修改nginx下的server配置文件:

vim /etc/nginx/conf.d/defualt.conf

修改配置如下:

nginx+keepalived構建負載均衡代理服務器

default.conf


修改完畢后,可以檢測nginx修改是否正確:

nginx -t
nginx
ss -tnl | grep 80

為了防止rs1和rs2訪問錯誤,可以在vs上安裝httpd服務操作如下:

yum install -y httpd
vim /var/www/html/index.html
-------index.html--------------  Sorry !
-----------end---------------------- vim /etc/httpd/conf/httpd.conf
---------httpd.conf----------  listen 8080
----------------end------------------- systemctl start httpd
ss -tnl | grep 8080

vs2(172.18.251.40)和vs1(172.18.251.4)的配置差不多,需要注意的地方以上已經說明這里就不再復述。

4、部署rs中web服務
在rs1(172.18.250.237)通過yum安裝httpd等

yum -y httpd php php-mysql

下載wordpress并解壓!

cd /var/www/html
lftp 172.18.0.1
>mget pub/Sources/sources/httpd/wordpress.zip unzip wordpress.zip

修改httpd的配置文件:

vim /etc/httpd/conf/httpd.conf
----------------httpd.conf----------------------
DocmentRoot /var/www/html/wordpress
<Dirctory /var/www/html/wordpress
----------------------end---------------------------

啟動httpd服務:

systemctl start httpd
ss -tnl | grep 80

rs2(172.18.253.233)配置和rs1相同。
5、部署mysql服務器
通過yum安裝mysql

yum install mysql -y
service mysql start 注意確保iptables和selinux不影響,以上也是一樣:
iptables -F
setenforce 0 getenforce

進入mysql數據庫,新建數據庫wpdb,并授權用戶

mysql
>>CRTEATE DATABASE wpdb;
>> GRANT ALL ON wpdb.* TO 'wpuser'@'172.18.%.%' IDENTIFIED BY 'wppasswd'

6、啟動vs服務器上的keepalived
在vs1和vs2上啟動keepalived服務

systemctl start keepalived
ip a l

此處為了測試效果,在rs1和rs2新建測試頁如下:

nginx+keepalived構建負載均衡代理服務器

查看rs1頁面.jpg
nginx+keepalived構建負載均衡代理服務器

rs2查看頁面.jpg

7、測試高可用效果
通過停止服務檢測高可用的效果。

vs1:
systemctl stop nginx
ss -tnl
nginx+keepalived構建負載均衡代理服務器

note1停止后note2自動獲得地址
nginx+keepalived構建負載均衡代理服務器

note1恢復后

可以通過tcpdump命令查看檢測過程如下

nginx+keepalived構建負載均衡代理服務器

抓包檢測

經過試驗可以看出keepalived和nginx調度后,可實現高可用
8、通過網頁訪問,配置wordpress

原創文章,作者:elene@leo,如若轉載,請注明出處:http://www.www58058.com/76568

(0)
elene@leoelene@leo
上一篇 2017-05-21 16:13
下一篇 2017-05-21 18:46

相關推薦

  • python面向對象

    ##**語言的分類**– 面向機器:匯編語言– 面向過程:c語言– 面向對象:C++ Java Python ##**面向對象**– 類class– 類是抽象的概念,萬事萬物的抽象,是一類事物的共同特征集合。– 對象instance object– 對象是類的具象,是一個實體…

    Linux干貨 2017-11-13
  • 對inode的初步理解

    1.什么是inode?     inode中文譯作”索引節點“,是linux操作系統中的一種數據結構,用來存儲文件的元數據信息。在linux系統中每個文件都會分配一個inode,我們也可以把inode看作指針,它永遠指向文件的具體存儲位置。 2.inode中包含了什么信息? * inode 編號 * 用來識別文件類型,以及用于 …

    2017-07-18
  • Linux上獲取命令幫助信息及man文檔劃分

    1.Linux上獲取命令幫助信息的多種途徑 Linux上獲取命令幫助信息有多種途徑,但不同的命令類型獲取幫助信息也有不同,Linux命令類型主要分為兩種: (1)內部命令:指的是集成于Shell解釋器程序(如Bash)內部的一些特殊指令,也成為內建(BuiltIN)指令。 內部命令屬于Shell的一部分,所以并沒有單獨對應的系統文件,只要Shell解釋器被運…

    Linux干貨 2016-10-30
  • linux系統基礎目錄結構及功能說明

    linux系統基礎目錄結構及功能說明 [root@localhost /]# ls bin boot dev etc home host lib lib64 media mnt opt proc root run sbin srv sys tmp usr var /bin:所有用戶可用的基本命令程序文件;/sbin:供系統管理使用的工具程序;/boot:引導…

    Linux干貨 2018-03-04
  • 初學Linux之 vim 文本編輯器

    vim 的模式切換;命令模式相關操作,拓展命令模式的相關操作;可視化和多窗口;定制vim的工作特性;vim幫助

    2017-12-31
  • raid5 陣列

    1 fdisk 分區sdb2,sdd1,sde1, 2  新建raid5 [root@localhost ~]# mdadm -C /dev/md5 -a yes  -l 5  -n 3 -x 1 /dev/sdd1 /dev/sde1  /dev/sdf  /dev/sdb2  3   …

    Linux干貨 2017-04-25
欧美性久久久久