keepalived+nginx高可用负载均衡环境搭建
上篇说道keepalived的环境搭建,本来keepalived结合lvs更有优势,但是也可以结合nginx来使用。下面接着说下nginx的环境搭建
环境信息:
nginx(master) 192.168.1.106
nginx(bakup) 192.168.1.103
首先安装一下pcre
yum install pcre-devel
安装完了解压nginx.我用的是nginx-1.6.2.tar.gz
tar -zvxf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure
编译成功的时候会打印下面信息
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx" 启动命令路径
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf" 配置文件路径
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log" 日志路径
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
要注意几个路径
然后就是
make
make install
至此,nginx就安装完了。然后就是配置nginx
注意是两台机器都要安装
vi /usr/local/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65; upstream web_pools { server 192.168.1.102:8080 weight=5;
server 192.168.1.104:8080 weight=5;
#server 10.0.0.10:80 weight=5 backup;
}
server {
listen 80;
location / {
root html;
index index.html index.htm;
proxy_pass http://web_pools; } }
}
配置文件主要就是配置upstream,server
从server可以看出,nginx监听本机80端口。然后转发给web_pools
然后就可以启动nginx了
cd /usr/local/nginx/sbin
./nginx
[root@masters sbin]# ps -ef | grep nginx
root 8207 1 0 04:37 ? 00:00:00 nginx: master process ./nginx
nobody 8208 8207 0 04:37 ? 00:00:00 nginx: worker process
root 10342 10069 0 06:26 pts/1 00:00:00 grep nginx
接着可以测试下nginx生效没
可以在192.168.1.104和192.168.1.102服务器里面启动两个tomcat。
然后
http://192.168.1.106/test/index.jsp
访问一下
我是在102 104机器tomcat下面放了个test工程,工程里面有个index.jsp文件
如果能访问到就说明nginx搭建成功了,也可以把其中一台比如102上面的tomcat关掉。看看服务是不是还能用,然后把tomcat启动起来再试试
然后在192.168.1.103(backup)上面也同样搭建nginx
两台机器上nginx都没问题之后,就可以用keepalived的vip进行访问了。
http://192.168.1.100/Test/index.jsp
接着测试下把其中一个keepalived关掉,然后再访问服务。
发现仍然没问题。
但是如果访问的时候nginx挂了,会不会另外一台nginx自动切换过来呢。答案是不会
keepalived感知不到机器上nginx是不是可用。
那该怎么解决这个问题呢?
我们可以通过shell来实现nginx挂了之后的自动切换。
脚本主要实现
检查本机nginx,发现nginx挂了之后,把本机keepalived服务关掉
这样,keepalived的backup会自动切换过来,请求也就能访问backup上面的nginx服务了。
等master上面服务修复之后,请求会再次请求到master机器上面来
keepalived+nginx高可用负载均衡环境搭建的更多相关文章
- Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)
原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...
- Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)-转帖篇
原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...
- Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建
Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建 Nginx 是一个高性能的 HTTP反向代理服务器 Keepalived 是一个基于VRRP协议来实现的LVS服务高可 ...
- haproxy+keepalived实现高可用负载均衡
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...
- haproxy+keepalived实现高可用负载均衡(转)
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. ...
- LVS+Keepalived 实现高可用负载均衡
前言 在业务量达到一定量的时候,往往单机的服务是会出现瓶颈的.此时最常见的方式就是通过负载均衡来进行横向扩展.其中我们最常用的软件就是 Nginx.通过其反向代理的能力能够轻松实现负载均衡,当有服务出 ...
- Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群
一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...
- LVS+Keepalived实现高可用负载均衡(转)
LVS+Keepalived实现高可用负载均衡 一.原理 1.概要介绍 如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具 ...
- 【架构师之路】 LVS+Keepalived实现高可用负载均衡
一.原理 1.概要介绍 如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具有3~5层交换功能,其主要作用是检测web服务器的状态, ...
随机推荐
- 判断一个数num是否是2的幂(乐视题)
思路“num &(num-1)==0 返回true,否者返回false.代码如下: boolean isPower(int num){ if(num<=0) return false; ...
- UNIX网络编程-Poll模型学习
1.相关接口介绍 1.1 poll ---------------------------------------------------------------------- #include &l ...
- CM给hive添加自定义jar包
使用的是cloudera manager管理的集群: hive添加自定义jar包 服务端:高级:Hive 辅助 JAR 目录 设置的的路径是影响所有服务端的设置,比如hue中使用到了hive查询编辑器 ...
- 使用Delphi收发GMail的邮件
GMAIL的端口和连接方式比较特殊:SMTP端口为:456POP3端口为:995都采用安全连接(SSL)这些通过Indy组件就可以实现参考代码如下: object IdConnectionInterc ...
- Win8.1安装Visual Studio 2015提示需要KB2919355
http://www.microsoft.com/zh-cn/download/details.aspx?id=42335 安装说明: 1.若要开始下载,请单击“下载”按钮,然后执行以下操作之一,或者 ...
- URL Regex expression
转载: http://blog.csdn.net/weasleyqi/article/details/7912647 首先,正则表达式: String check = @"((http|ft ...
- ORA-12520:TNS:监听程序无法为请求的服务器类型找到可用的处理程序
连接数太多 关掉没用的 plsql
- @RequestMapping用法详解
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. RequestMapping注解有六个属性,下面我们把 ...
- android activity的启动方式
1.Standard正常启动,默认的启动方式,没什么说头 2.SingleTop 意思就是在栈顶只能存在一个相同的activity 不能叠加,如果再A上继续启动A的话,只会调用A的onNewInten ...
- Asp.net core 通过Models 生成数据库的方法
其实Getting Started当中有着详细的说明,https://docs.efproject.net/en/latest/platforms/aspnetcore/new-db.html ...