上篇说道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高可用负载均衡环境搭建的更多相关文章

  1. Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)

    原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...

  2. Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)-转帖篇

    原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...

  3. Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建

    Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建 Nginx 是一个高性能的 HTTP反向代理服务器 Keepalived 是一个基于VRRP协议来实现的LVS服务高可 ...

  4. haproxy+keepalived实现高可用负载均衡

    软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...

  5. haproxy+keepalived实现高可用负载均衡(转)

      软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. ...

  6. LVS+Keepalived 实现高可用负载均衡

    前言 在业务量达到一定量的时候,往往单机的服务是会出现瓶颈的.此时最常见的方式就是通过负载均衡来进行横向扩展.其中我们最常用的软件就是 Nginx.通过其反向代理的能力能够轻松实现负载均衡,当有服务出 ...

  7. Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群

    一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...

  8. LVS+Keepalived实现高可用负载均衡(转)

    LVS+Keepalived实现高可用负载均衡   一.原理         1.概要介绍         如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具 ...

  9. 【架构师之路】 LVS+Keepalived实现高可用负载均衡

    一.原理        1.概要介绍        如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具有3~5层交换功能,其主要作用是检测web服务器的状态, ...

随机推荐

  1. 【转载】nodejs,npm,express分别什么?

    很多刚刚接触nodejs的初学者,都会经历一个很繁冗的环境安装过程. 一般主要要安装nodejs,npm和express三样东西.那么这三样东西分别是干什么的呢? 本篇文章就大致介绍一下这三样东西分别 ...

  2. Model View Controller

    On the iPhone or iPod touch, a modal view controller takes over the entire screen. This is the defau ...

  3. 微信小程序--摸索之旅

    首先 奉上腾讯官方文档 方便参考:https://mp.weixin.qq.com/debug/wxadoc/design/index.html  个人认为没说啥特别有用的信息(可能是我看的太粗糙了) ...

  4. CSS 实现样式下拉菜单

    下拉菜单的实现 脚本: <script type="text/javascript"> function ShowSub(li) { ]; ; subMenu.styl ...

  5. sublime安装插件步骤

    sublime text 3 安装package  contol: 快捷键:ctrl+`进入命令行输入 import urllib.request,os;pf='Package Control.sub ...

  6. virt-manager管理整个云平台的instances

    http://people.redhat.com/~rjones/virt-top/faq.html

  7. centos 6.5 x64创建并挂载使用iscsi共享磁盘

    前景摘要:NFS或iSCSI,哪个更好?文件 vs 块NFS使用文件级别的实施,服务器或存储阵列托管整个文件系统,客户到文件系统上读写文件,可以在阵列端对主存储数据进行重复数据删除.iSCSI和FC则 ...

  8. Orcle学习(一)

    exists"和"in"的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ...

  9. Hive集成HBase;安装pig

    Hive集成HBase 配置 将hive的lib/中的HBase.jar包用实际安装的Hbase的jar包替换掉 cd /opt/hive/lib/ ls hbase-0.94.2*  rm -rf ...

  10. noSuchMethodException问题

    上午遇到一个nosuchMethodException 折腾了一上午发现是jar包冲突引起的.首先发现单独运行没问题,和其他项目整合后就有问题,当时以为代码问题,其实早该想到是jar包冲突造成的... ...