keepalived与nginx安装
目的:
当用户请求访问时,会通过nginx来访问web服务应用,因此我们必须要保证nginx的高可用,要保证nginx的高可用,我们需要通过keepalived来监控nginx,并对外提供1个虚拟的vip当做ip供用户访问,当用户访问时先访问虚拟的ip即keepalive-master,此时keepalive-master会通过脚本程序监控自己本机下的nginx是否启动,如果启动直接访问,如果挂机,keepalive-master会将自身线程杀掉,然后绑定到keepalived-backup备机上,然后备机会接管keepalive-master的工作,继续访问本机上的nginx,以完成用户的本次请求。
一.准备工作
1.准备2台linux虚拟机,分别安装 jdk,tomcat,nginx,ipvs,keepalived,(详见安装)
2.设置
1.虚拟ip为: 192.168.25.125
2.Master主机ip为:192.168.25.128 ,nginx 端口:80 tomcat 端口为: 8080
3backupr主机ip为:192.168.25.129 ,nginx 端口:80 tomcat 端口为: 8080
二.在nginx.conf的配置文件中配置tomcat的负载均衡
进入命令: vim /usr/local/nginx/conf/nginx.conf
1.在128 和129 两个节点了配置如下内容:
upstream cc.com {
server 192.168.25.128:8080;
server 192.168.25.129:8080;
}
location / {
proxy_pass http://cc.com;
}
2.配置 tomcat的配置文件端口
进入命令: vim /usr/local/install/tomcat/conf/server.xml

3.启动 tomcat
进入命令: cd /usr/local/install/tomcat/bin/
启动命令: sh startup.sh
关闭命令:sh shutdown.sh
进入命令: cd /usr/local/install/tomcat/logs/ && ll
查看日志: tail -f catalina.out

4.启动nginx
启动命令: /usr/local/nginx/sbin/nginx

三.Keepalived设置shell脚本
1.创建脚本文件:
进入命令: cd /usr/local/install/keepalived/etc/keepalived && ll
创建文件: vim nginxCheck.sh
NGINX=/usr/local/nginx/sbin/nginx
PROT=80
nmap localhost -p $PORT | grep "$PORT/tcp open" #echo $?
if [ $? -ne 0 ];then
$NGINX -s stop
$NGINX
sleep 3
nmap localhost -p $PORT | grep "$PORT/tcp open"
[ $? -ne 0] && cd /usr/local/install/keepalived/sbin && pkill keepalived echo "over"
fi
注意: 要对这个脚本文件设置权限 chmod 777 nginxCheck.sh
2.在keepalived.conf中添加对脚本的调用
进入命令: cd /usr/local/install/keepalived/etc/keepalived && ll
编辑命令: vim keepalived.conf

1.在vrrp服务器配置前增加:
vrrp_script chk_http_port {
script "/usr/local/install/keepalived/etc/keepalived/nginxCheck.sh"
interval 2
weight 2
}

2.在vrrp_instance 配置的最后部分添加:
track_script {
chk_http_prot
}

3.启动keepalived
进入命令: cd /usr/local/install/keepalived/sbin && ll
启动命令: ./keepalived -f /usr/local/install/keepalived/etc/keepalived/keepalived.conf

四.测试、访问
1.测试
命令: ip add

2.访问
在地址栏输入: 192.168.25.125

keepalived与nginx安装的更多相关文章
- LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- KeepAlived+Nginx 安装
yum install -y gcc gcc-c++ openssl openssl-devel 目前keepalived最新版本下载:[root@rhel ~]#wget -c http://www ...
- linux安装Nginx 以及 keepalived 管理Nginx
linux安装Nginx 1.1将Nginx素材内容上传到/usr/local目录(pcre,zlib,openssl,nginx)(注意:必须登录用对这个文件具有操作权限的) 1.2安装pcre库 ...
- LVS+Nginx(LVS + Keepalived + Nginx安装及配置)
(也可以每个nginx都挂在上所有的应用服务器) nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...
- 6.第五篇 安装keepalived与Nginx
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483796&idx=1&sn=347664de ...
- Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用
上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx ...
- keepalived对nginx高可用演练脚本
keepalived对nginx高可用演练脚本 参考文章:http://deidara.blog.51cto.com/400447/302402/ .安装nginx.keepalived.epel-r ...
- Lvs+Keepalived+Squid+Nginx负载均衡
前言* 随着互联网IT行业的发展,越来越多的企业开始使用开源软件搭建自己的web架构,主流的LVS也得到了广泛的应用,在保证高可用的同时,用户对网站的体验速度也有了很高的要求,这时候需要我们在我们的架 ...
随机推荐
- 一道Python面试题
无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun(): temp = [lambda x : i*x for i in range(4)] return ...
- JSP学习(第二课)
把GET方式改为POST在地址栏上就不会显示. 发现乱码了,设置编码格式(这个必须和reg.jsp中page的charset一致): 但是注意了!我们传中文名,就会乱码: 通过get方式提交的请求无 ...
- IDEA中打包Spark项目提示Error:(16, 48) java: -source 1.5 中不支持 lambda 表达式
在idea中新建了一Spark的项目,在做项目的编译打包的时候,提示如下错误信息: Error:(, ) java: -source 1.5 中不支持 lambda 表达式 (请使用 -source ...
- MySQL8.0新特性
一.修改密码修改root密码之前要先flush privileges;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'f ...
- 在 Sublime Text 2 中编译和运行 Java 程序,以及输出中文出错问题解决办法
Sublime Text 2 是我最喜欢用来编码的文本编辑器,如果你尝试使用后相信你也会喜欢上它的.在这篇文章中我们将讨论如何在 Sublime Text 2 中编译和运行 Java 程序. 第一步: ...
- 20165324 《Java程序设计》第九周学习总结
学号 20165324 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 Java网络编程 URL类 使用URL创建对象的应用程序称为客户端 一个URL对象封装一个具体资源的 ...
- git pull和git merge区别&&Git冲突:commit your changes or stash them before you can merge. 解决办法
http://blog.csdn.net/sidely/article/details/40143441 原文: http://www.tech126.com/git-fetch-pull/ Git中 ...
- Postman中使用Postman Interceptor 发送带Cookie 的请求
使用Postman 发送Cookie 的请求时,发现无法发送成功, 显示"Restricted Header (use Postman Interceptor)" 提示. 网上搜了 ...
- hu3613 Best Reward
地址:http://acm.hdu.edu.cn/showproblem.php?pid=3613 题目: Best Reward Time Limit: 2000/1000 MS (Java/Oth ...
- android 列表图片优化经历
先上个优化之后的fps图,丝滑流畅:具体实现请看最终优化后的app 背景:一个通讯录app(开源地址),每次登陆时,针对每个用户,如果头像图片不在本地,则生成一个异步下载任务(AsyncTask). ...