1. 安装nginx

配置文件和之前的一样

user nobody nobody;    #定义Nginx运行的用户和用户组

worker_processes 4;    #nginx进程数,建议设置为等于CPU总核心数。

error_log logs/error.log    info;    #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

worker_rlimit_nofile 1024;    #一个nginx进程打开的最多文件描述符数目,所以建议与ulimit -n的值保持一致。

pid    logs/nginx.pid;    #进程文件

#工作模式及连接数上限

events {

use epoll;#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型

worker_connections 1024;#单个进程最大连接数(最大连接数=连接数*进程数)

}

#设定http服务器,利用它的反向代理功能提供负载均衡支持

http {

include mime.types;#文件扩展名与文件类型映射表

default_type application/octet-stream;#默认文件类型

#设定负载均衡的服务器列表

upstream tomcatxxxcom {

server 192.168.56.200:8080;

server 192.168.56.201:8080;

}

#设定日志格式

log_format www_xy_com '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

sendfile on;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。

keepalive_timeout 65; #长连接超时时间,单位是秒

#gzip on;

#设定虚拟主机,默认为监听80端口

server {

listen 80;

server_name tomcat.xxx.com;#域名可以有多个,用空格隔开

#charset koi8-r;

#设定本虚拟主机的访问日志

access_log /data/logs/access.log www_xy_com;

#对 "/" 启用反向代理

location / {

proxy_pass http://tomcatxxxcom;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

#error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

}

  1. 安装lvs

lvs-dr.sh:和之前对比,变化之处就是vip和转发的端口。

#!/bin/bash

#description:start lvs server

echo "1" >/proc/sys/net/ipv4/ip_forward

WEB1=192.168.56.200

WEB2=192.168.56.201

VIP1=192.168.56.90

/etc/rc.d/init.d/functions

case "$1" in

start)

echo "start LVS of directorServer"

#set the Virtual address and sysctl parameter

/sbin/ifconfig eth1:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up

#clear ipvs table

/sbin/ipvsadm -C

#set LVS

#web apache or tomcat

/sbin/ipvsadm -A -t $VIP1:80 -s rr

/sbin/ipvsadm -a -t $VIP1:80 -r $WEB1:80 -g

/sbin/ipvsadm -a -t $VIP1:80 -r $WEB2:80 -g

#run LVS

/sbin/ipvsadm

;;

stop)

echo "close LVS directorserver"

echo "0" >/proc/sys/net/ipv4/ip_forward

/sbin/ipvsadm -C

/sbin/ipvsadm -Z

;;

*)

echo "usage:$0 {start|stop}"

exit 1

esac

lvs-rs.sh:与之前的不同在于修改了vip

#!/bin/sh

#description start realserver

#chkconfig 235 26 26

VIP1=192.168.56.90

/etc/rc.d/init.d/functions

case "$1" in

start)

echo "start LVS of realserver"

/sbin/ifconfig lo:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

;;

stop)

/sbin/ifconfig lo:0 down

echo "close lvs dirctorserver"

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

;;

*)

echo "usage:$0{start|stop}"

exit 1

esac

  1. 安装keepalived

注意:在用keepalived做tomcat和nginx的热备时,需要加入realserver的配置。但是做lvs的热备则不需要配置realserver,因为keepalived有lvs的配置参数。

backup

! Configuration File for keepalived

global_defs {

notification_email {

#acassen@firewall.loc

#failover@firewall.loc

#sysadmin@firewall.loc

}

notification_email_from Alexandre.Cassen@firewall.loc

#smtp_server 192.168.200.1

#smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instance VI_1 {

state BACKUP

interface eth1

lvs_sync_daemon_inteface eth1

virtual_router_id 51

priority 100

nopreempt

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.56.90

}

}

virtual_server 192.168.56.90 80 {

delay_loop 6

lb_algo rr

lb_kind DR

#nat_mask 255.255.255.0

persistence_timeout 1

protocol TCP

}

master

! Configuration File for keepalived

global_defs {

notification_email {

#acassen@firewall.loc

#failover@firewall.loc

#sysadmin@firewall.loc

}

notification_email_from Alexandre.Cassen@firewall.loc

#smtp_server 192.168.200.1

#smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instance VI_1 {

state MASTER

interface eth1

lvs_sync_daemon_inteface eth1

virtual_router_id 51

priority 200

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.56.90

}

}

virtual_server 192.168.56.90 80 {

delay_loop 6

lb_algo rr

lb_kind DR

#nat_mask 255.255.255.0

persistence_timeout 1

protocol TCP

}

nginx+lvs+keepalived安装的更多相关文章

  1. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  2. LVS+Nginx(LVS + Keepalived + Nginx安装及配置)

    (也可以每个nginx都挂在上所有的应用服务器)  nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...

  3. lvs keepalived 安装配置详解

    前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较.F5相当的贵,真不是一般企业能负担的起的.负载均衡软件也用过不少,nginx,apache,hapro ...

  4. Lvs+Keepalived+Squid+Nginx负载均衡

    前言* 随着互联网IT行业的发展,越来越多的企业开始使用开源软件搭建自己的web架构,主流的LVS也得到了广泛的应用,在保证高可用的同时,用户对网站的体验速度也有了很高的要求,这时候需要我们在我们的架 ...

  5. lvs + keepalived + gninx 高性能负载均衡

    1,nginx 作为负载均衡器,在应用层实现了负载均衡和反向代理,在分布式集群中,能够有效的去处理大数据量,高访问的应用.但是,如果nginx 服务挂了怎么办? 为此,可以实现两台nginx或者多台n ...

  6. LVS+keepalived搭建负载均衡

    安装环境:环境 centos4.4 LB:192.168.2.158(VIP:192.168.2.188) real-server1:192.168.2.187 real-server2:192.16 ...

  7. LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  8. 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  9. LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

    方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...

随机推荐

  1. *2.3.2_加入env

    在验证平台中加入reference model.scoreboard等之前,思考一个问题:假设这些组件已经定义好了,那么在验证平台的什么位置对它们进行实例化呢?在top_tb中使用run_test进行 ...

  2. IOS9网络请求报错:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

    今天下载Xcode7试了下,运行项目时报上面的错误,网上查了下原来iOS9引入了新特性App Transport Security (ATS).详情:App Transport Security (A ...

  3. Markdown 语法整理大集合2017

    简明教程:https://ouweiya.gitbooks.io/markdown/ 1.标题 代码 注:# 后面保持空格 # h1 ## h2 ### h3 #### h4 ##### h5 ### ...

  4. 问题集录--Android:解决Studio新建项目时,在 Building gradle project info 一直卡住

    Android Studio导入项目的时候,一直卡在Building gradle project info这一步,主要原因还是因为被墙的结果.gradle官网虽然可以访问,但是速度连蜗牛都赶不上.. ...

  5. IIS 站点 共享目录

    1.先建立站点,再设置文件夹为共享,Everyone 2.Mac电脑 Everyone不能访问,必须建立用户

  6. SQL Serever学习11——数据库的安全管理

    公司管理软件设计完成,但是日常工作繁忙,向领导提出增加几个管理员,帮助管理和维护系统,领导同意了,但是要求一定要管理好这几个管理员用户,保证数据库的安全. 修改身份验证模式 数据库验证机制 sqlse ...

  7. C# 之程序退出的方法

    1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit();  强制所有消息中 ...

  8. GraphQL介绍&使用nestjs构建GraphQL查询服务

    GraphQL介绍&使用nestjs构建GraphQL查询服务(文章底部附demo地址) GraphQL一种用为你 API 而生的查询语言.出自于Facebook,GraphQL非常易懂,直接 ...

  9. Docker学习之基本概念

    Docker学习之基本概念 作为一个后端noder,不了解docker有点说不过去,这节开始,学习一些docker层面的东西. 什么是docker Docker最初是dotCloud公司创始人Solo ...

  10. PHP 获取当前类名、方法名、URL地址

      1.PHP获取当前类名.方法名  __CLASS__ 获取当前类名  __FUNCTION__ 当前函数名(confirm)  __METHOD__ 当前方法名 (bankcard::confir ...