nginx+lvs+keepalived安装
安装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; } } } |
安装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 |
安装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安装的更多相关文章
- lvs keepalived 安装配置详解【转】
lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...
- LVS+Nginx(LVS + Keepalived + Nginx安装及配置)
(也可以每个nginx都挂在上所有的应用服务器) nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...
- lvs keepalived 安装配置详解
前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较.F5相当的贵,真不是一般企业能负担的起的.负载均衡软件也用过不少,nginx,apache,hapro ...
- Lvs+Keepalived+Squid+Nginx负载均衡
前言* 随着互联网IT行业的发展,越来越多的企业开始使用开源软件搭建自己的web架构,主流的LVS也得到了广泛的应用,在保证高可用的同时,用户对网站的体验速度也有了很高的要求,这时候需要我们在我们的架 ...
- lvs + keepalived + gninx 高性能负载均衡
1,nginx 作为负载均衡器,在应用层实现了负载均衡和反向代理,在分布式集群中,能够有效的去处理大数据量,高访问的应用.但是,如果nginx 服务挂了怎么办? 为此,可以实现两台nginx或者多台n ...
- LVS+keepalived搭建负载均衡
安装环境:环境 centos4.4 LB:192.168.2.158(VIP:192.168.2.188) real-server1:192.168.2.187 real-server2:192.16 ...
- 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 ...
- LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案
方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...
随机推荐
- 【c++】友元
c++引入友元的原因 在某些情况下,允许特定的非成员函数访问类的私有成员.在类中以关键字friend开始(只能出现在类定义的内部),声明为友元的可以为类.类的成员函数.普通的非成员函数. 速览 #in ...
- 基于ASP.Net Core学习Docker技术第一步:在CentOS7安装Docker平台
Docker技术几年前就火了,伴随着今年来devops的流行,这项技术一直被技术社区追捧.提起Docker很容易被默认为是Linux平台下的技术,.NET的技术跟他似乎没有沾边,不过那是对非.NET ...
- xml布局中include的使用
参考:http://blog.csdn.net/harvic880925/article/details/17263275 include_button1.xml <?xml version=& ...
- CADisplayLink+弹簧动画实现果冻效果
项目中在Tabbar中间的按钮要从底部弹出视图并有果冻效果,在CocoaChina中找了一篇博客用 UIBezierPath 实现果冻效果,github,自己就按着上面的demo修改了一下( 之前也是 ...
- Nginx 基于客户端 IP 来开启/关闭认证
前些日子帮助公司在搭建了一个内部资源的导航页面,方便公司员工访问各种常用的系统.因为这个页面包含一些敏感信息,我们希望对其做认证,但仅当从外网访问的时候才开启,当从公司内网访问的时候,则无需输入账号密 ...
- [转]Sql Server 分页存储过程
本文转自: 版权声明:作者:jiankunking 出处:http://blog.csdn.net/jiankunking 本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且 ...
- Java基础教程(3)--回顾HelloWorld
在上一篇文章中,我们已经编写了第一个Java程序--HelloWorld,并且对它进行了编译和运行.虽然这个例子很短小,但是它具有一个完整的Java程序所应该具有的结构.在这篇文章中,我将会对这个 ...
- 设计模式之——外观or门面模式
1.概念 定义一个高层的统一的外观接口类,该接口用于客户端调用,和一个实现类用来包装子系统中多个类,客户端可以通过客户端完成对子系统的方法调用. 2.适用场景 2.1 代码移植,降低了现有系统的复杂度 ...
- jenkins 参数化构建过程
构建项目时我们可能需要切换到另一个分支编译,或者说每次编译版本都要加1,这时候我们可以改配置或者改脚本文件,这显然不是一个好的方式,那么如何能在编译前让用户输入参数呢?jenkins早就为我们考虑好 ...
- 关于构造器和Serlvet的知识点
关于java的构造器方法: 1.java构造方法可以有任何的访问修饰符:public.protected.private或者没有修饰(通常被package或者friendly调用)但是不能有非访问性质 ...