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.178linux.com/76568

(0)
elene@leoelene@leo
上一篇 2017-05-21
下一篇 2017-05-21

相关推荐

  • Linux磁盘管理基础

    Linux磁盘管理基础 硬盘结构 文件系统与MBR、GTP 磁盘管理三步骤:分区、格式化、挂载 mount 硬盘结构 硬盘的基本组成材质是盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道,不同盘片相同半径的磁道所组成的圆柱称为柱面,每个磁道被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存…

    Linux干货 2016-09-01
  • 磁盘分区管理与文件系统的创建

    磁盘分区管理与文件系统的创建   不光是linux文件系统,所有的大结构,多数据凑到一块的时候,单一的管理是没有能力处理这样庞大规模的存在的。所谓“君王不下县”也就是这个道理。要系统的,规范的管理一个国家,存在着省、市这样的层级结构。linux系统也是这样,将整个系统划分为若干个分区,实现不同功能,不同层级的规范管理,这就是创建磁盘分区的意义。既然…

    Linux干货 2016-09-01
  • 02Linux上终端的类型

    一、终端的概念 所谓终端就是在一个连接主机的端子上面接入鼠标、键盘、显示器等所组成的一个组合。终端用于用户与主机之间的交互。早期的时候,在大型主机上,想使用主机的用户很多,但是主机却只有一个,也不能实现人手一台。于是为了让一台主机给多个用户使用,便产生了多个终端和多个用户,这样每个用户只要有一个终端变可以与主机交互了。 二、终端的种类 终端的类型有四类:物理…

    Linux干货 2016-10-14
  • N22-浙江-情歌第一周博客作业

    一、计算机的组成及其功能    计算机有五大组成部分:CPU(控制器和运算器)、内存、输入、输出           CPU:运算、控制、寄存、缓存功能           内存:RAM       &nbsp…

    Linux干货 2016-08-15
  • 马哥网络教育班21期-第一周课程练习

      一、计算机的组成及其功能 1.1计算机的组成      1946年美籍匈牙利科学家冯·诺依曼提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式存储,并确定了存储程序计算机的五大组成部分,分别为运算器、控制器、存储器、输入设备和输出设备。 1.2计算机的组成 控制器(Contro…

    Linux干货 2016-07-12