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 16:13
下一篇 2017-05-21 18:46

相关推荐

  • 字符串处理

      一.字符串处理 v bash 的字符串处理工具: (一)字符串切片: ${#var}: 返回字符串变量var 的长度 例: [root@lxc ~]# a="     " [root@lxc ~]# echo ${#a} 5 [root@lxc ~]# ${var:offse…

    Linux干货 2016-11-24
  • Linux bash 特性、相关变量以及编程

    Linux bash 特性、相关变量以及编程 bash 特性之:命令hash 缓存此前执行过的命令(都是外部命令,不记录内嵌命令),加速命令的执行 hash    -d 清空指定命令记录   -r 直接清空hash表 bash 特性之一: 变量 程序=指令+数据 指令是有文件提供 数据是由…

    Linux干货 2016-12-29
  • 建立dns服务

    一 、环境 两台机器,一台LINUX,机器名为LINUX,域名为tongqiang.cnIP地址为192.168.0.5,另一台机器为WIN98,机器名为tongqiang,IP地址从LINUX上DHCP服务器上获得。 二 、建立DNS服务器(假设你的DNS软件包已经安装好了,而且是在安装LINUX是选择安装DNS服务器的) 建立DNS服务器只需要修改以下几…

    2017-10-09
  • 马哥linux0803作业内容

    1. 创建sysadmins组 将用户user1,user2,user3加入sysadmins组中 将user3设置为sysadmins的管理员 用user3登录,将user2从组中移除 设置sysadmins的密码centos 设置user1 在创建新文件时,文件的所属组为sysadmins 删除user1…3 删除sysadmins 2、三种权限rwx对…

    Linux干货 2016-08-05
  • wk_02 作业

    Linux 文件管理命令 cp命令 功能 Linux 系统中cp命令是用来复制目录/文件的。 概要 单源复制 cp [OPTION]… [-T] SOURCE DEST DEST不存在则事先创建此文件,并复制源文件的数据流至DEST中; DEST存在 DEST是非目录文件:则覆盖目标文件; DEST是目录文件:则先…

    Linux干货 2016-12-11
  • 第三周n28

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d ” ” -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 who | tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 cat /etc/passwd | …

    Linux干货 2017-12-17