nginx +keepalive +tomcat

框架

keepavlive master 192.168.178.134

keepavlive backup 192.168.178.135

vip 192.168.178.132

nginx 192.168.178.134

nginx 192.168.178.135

tomcat 192.168.178.135 8080 8081

tomcat 192.168.178.135 8080 8081

keepavlive  master安装

wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz

tar -xf keepalived-1.1.20.tar.gz

ln -s /usr/src/kernels/2.6.32-431.el6.i686/ /usr/src/linux

yum install popt-devel

./configure && make && make install

cp /usr/local/etc/rc.d/init.d/keepalived/etc/rc.d/init.d/

cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cp  /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

cp /usr/local/sbin/keepalived /usr/sbin/

vim /etc/sysctl.conf

修改和添加下面参数

net.ipv4.ip_forward = 1(原先是0)

net.ipv4.ip_nonlocal_bind = 1

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

sysctl -p 加载文件

vim /etc/keepalived/keepalived.conf

global_defs {

notification_email {

[email protected]    #email 通知

}

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS1          # 设置lvs的id,在一个网络内应该是唯一的

}

vrrp_sync_group test {           #设置vrrp组

group {

loadbalance

}

}

vrrp_instance loadbalance {

state MASTER       #设置lvs的状态,报错MASTER和BACKUP两种,必须大写

interface eth0     #设置对外服务的接口

lvs_sync_daemon_inteface eth0   #设置lvs监听的接口

virtual_router_id 195                     #设置虚拟路由表示

priority 180            #设置优先级,数值越大,优先级越高

advert_int 5           #设置同步时间间隔

authentication {                    #设置验证类型和密码

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {                #设置lvs vip

192.168.178.132

}

}

virtual_server 192.168.178.132 {

delay_loop 6          #健康检查时间间隔

lb_algo rr               #负载均衡调度算法

lb_kind DR            #负载均衡转发规则

#persistence_timeout 20  #设置会话保持时间,对bbs等很有用

protocol TCP                #协议

real_server 192.168.178.133 {

weight 3                #设置权重

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 192.168.178.134 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

keepavlive  backup安装

keepalive的安装和master一样

配置文件

global_defs {

notification_email {

[email protected]    #email 通知

}

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS1          # 设置lvs的id,在一个网络内应该是唯一的

}

vrrp_sync_group test {           #设置vrrp组

group {

loadbalance

}

}

vrrp_instance loadbalance {

state MASTER       #设置lvs的状态,报错MASTER和BACKUP两种,必须大写

interface eth0     #设置对外服务的接口

lvs_sync_daemon_inteface eth0   #设置lvs监听的接口

virtual_router_id 195                     #设置虚拟路由表示

priority 180            #设置优先级,数值越大,优先级越高

advert_int 5           #设置同步时间间隔

authentication {                    #设置验证类型和密码

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {                #设置lvs vip

192.168.178.132

}

}

virtual_server 192.168.178.132 {

delay_loop 6          #健康检查时间间隔

lb_algo rr               #负载均衡调度算法

lb_kind DR            #负载均衡转发规则

#persistence_timeout 20  #设置会话保持时间,对bbs等很有用

protocol TCP                #协议

real_server 192.168.178.133 {

weight 3                #设置权重

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 192.168.178.134 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

nginx 配置

192.168.178.134/135 负载均衡

192.168.178.134  web01

192.168.178.123 web02

3台服务器上都安装相同的nginx版本

192.168.178.131 的配置加入

upstream test.miaohr.com {     ——————####### test.miaohr.com这个必须和下面的 proxy_pass 一致 下面是weight模式负载

server 192.168.178.134:80 weight=80;

server 192.168.178.133:80   weight=10;

}

server {

listen 80;

server_name test.miaohr.com;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

root   html;

index  index.html index.htm;

proxy_pass        http://test.miaohr.com;

proxy_set_header  X-Real-IP  $remote_addr;

client_max_body_size  100m;

}

192.168.178.133  web01和web02 只需要配置域名主机就可以了

server {

listen       80;

server_name  test.miaohr.com;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

root   html;

index  index.html index.htm;

}

2轮询模式

——————####### test.miaohr.com这个必须和下面的 proxy_pass 一致 下面是轮询 会1:1的去访问后端服务器

upstream test.miaohr.com {

server 192.168.178.129:80;

server 192.168.178.130:80;

}

3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream test.miaohr.com {     ——————####### test.miaohr.com这个必须和下面的 proxy_pass 一致 下面是轮询 会1:1的去访问后端服务器

upstream test.miaohr.com {

ip_hash;

server 192.168.178.134 80;

server 192.168.178.130:80;

}

测试 绑定vhost 负载均衡ip 192.168.178.131 test.miaohr.com

在web01和web02下 test.miaohr.com 目录同时建一个test.html的文件不同内容

访问test.miaohr.com/test.html 页面页面信息不一样

时间: 2024-10-08 05:06:33

nginx +keepalive +tomcat的相关文章

Nginx、Tomcat线上环境优化配置

 Nginx.Tomcat线上环境优化配置 Nginx优化: Nginx安全方面的优化: 1. nginx安全优化,在nginx配置文件http标签段内添加"server_tokens  off"即可隐藏访问或者报错时提示web版本号信息. 2. server_tokens参数可以在http,server,location的位置添加 3. 还可以修改nginx的3个源码文件 4. 如还需要安全优化更改端口.用户. nginx 性能优化: 对于nginx配置文件中对优化比较有作用的一般为

整合nginx,tomcat,mysql的安装与配置

linux下Nginx+tomcat+mysql整合的安装与配置维护 安装Tomcat和JDK  上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin至/usr/local 执行如下命令安装tomcat #cd /usr/local  #tar zxvf apache-tomcat-6.0.18.tar.gz 解压完成后将apache-tomcat-6.0.18重命名为tomcat 执行如下命令安装JDK: 设置权限chmod 777 jdk

Nginx与Tomcat、Client之间请求的长连接配置不一致问题解决[转]

http://bert82503.iteye.com/blog/2152613 前些天,线上出现“服务端长连接与客户端短连接引起Nginx的Writing.Active连接数过高问题”,这个是由于“服务端使用HTTPs长连接,而客户端使用短连接”引起.这几天,发现Nginx与Tomcat之间也存在同样的问题,原因是两边的相关配置参数不一致引起的.(这是心细活!) 先说说服务为什么使用HTTPs长连接技术?有如下几个原因: 对响应时间要求较高: 服务走的是公网,客户端与服务端的TCP建立的三次握手

nginx 与 tomcat 集群 一二事 (0) - 简单介绍

最近看了nginx以及tomcat的集群,做一下简单总结吧 nginx 是一个http服务器,是有俄罗斯人发明的,目前主流的服务器,作为负载均衡服务器,性能非常好,最高支持5万个并发连接数,在淘宝被广泛使用 单个tomcat最大支持的用户并发量默认是150,在测试过程中250左右开始会有性能的问题 举个栗子,有3台tomcat,有N多请求同时经过nginx的时候,nginx作为一个路由,把请求分别分发给这3台tomcat,以此减少tomcat负重 tomcat 与 nginx 之间通过ajp协议

nginx整合tomcat

环境:nginx ubuntu ip:10.12.18.112 tomcat1 ubutu ip:10.12.18.105 tomcat2 centos ip:10.12.18.127 client win7 ip:10.12.18.116 安装包:nginx-1.8.0.tar.gz Nginx 下载:http://nginx.org/en/download.html 解压 sudo tar –zxf nginx-1.8.0.tar.gz –C /usr/src 创建用户和组 sudo gro

(nginx|apache)+tomcat 几种常见的代理实现方式或连接类型(connector type)

简单描述一下nginx两块网卡,eth1外网,eth0内网与tomcat eth0通信,用户请求静态内容由nginx直接响应,动态内容则nginx转发至后端tomcat响应 安装nginx,tomcat不再描述. nginx的配置文件如下:/etc/nginx/nginx.conf [[email protected] ~]# pnginx worker_processes 1; events { worker_connections 1024; } http { include mime.ty

Nginx SSL+tomcat集群,request.getScheme() 取到https正确的协议

转自:http://feitianbenyue.iteye.com/blog/2056357 最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议 但是,明明是https url请求,发现 log里面, Xml代码   0428 15:55:55 INFO  (PaymentInterceptor.java:44) preHandle() - requestStringForLog:    { "re

Nginx+Memcached+Tomcat session会话共享

服务器说明: 192.168.1.8 tomcat1 memcached(虚拟机1) 192.168.1.9 tomcat2(虚拟机2) 192.168.1.200 nginx (本机) 对于tomcat+nginx的配置请参考博客:[Nginx-反向代理服务器]实践篇(三)之Tomcat+Nginx搭建集群 接下来我们来安装memcached,注意linux系统的用户权限问题 1.分别把memcached和libevent下载回来,放到/usr/src目录下: # cd /usr/src# w

nginx整合tomcat集群并做session共享----测试案例

最近出于好奇心,研究了一下tomcat集群配置,并整合nginx,实现负载均衡,session共享,写篇记录,防止遗忘.---------菜鸡的自我修炼. 说明:博主采用一个web项目同时部署到两台tomcat下,(tomcat-A,tomca-B),使用nginx做反向代理,按照设置的权值,将请求分发到后台的tomcatA/tomcat-B,并且实现session共享. 配置好本地域名指向:修改host文件:添加 127.0.0.1  www.domain.com.cn 新建项目:tiny-d