码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

时间:2019-02-23 13:32:46      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:article   user   stat   write   off   byte   cat   ESS   roo   

 

Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

CentOS安装Nginx?:http://centoscn.com/CentosServer/www/2013/0910/1593.html

CentOS安装Tomcat?:http://blog.csdn.net/zhuying_linux/article/details/6583096

CentOS安装Redis?:http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3117997.html

多个Tomcat负载均衡实例:可在服务器上复制出多个Tomcat分别修改Tomcat的http访问端口(默认为8080端口)

技术图片

Shutdown端口(默认为8005端口)

技术图片

JVM启动端口(默认为8009端口)

技术图片

1、Nginx实现多Tomcat负载均衡

Tomcat服务:

192.168.1.177:8001?
192.168.1.177:8002?
192.168.1.177:8003

 

Nginx配置:

upstream?mytomcats?{?

  server?192.168.1.177:8001;?

  server?192.168.1.177:8002;?

  server?192.168.1.177:8003;

 }

server?{?

  listen?80;?
  server_name?www.iu14.com;?
  location?~*?\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$?{?
    root?/web/www/html/;?
  }

  location?/?{?

    proxy_pass?http://mytomcats;?

    proxy_redirect?off;?

    proxy_set_header?Host?$host;?

    proxy_set_header?X-Real-IP?$remote_addr;?

    proxy_set_header?X-Forwarded-For?$proxy_add_x_forwarded_for;?

    client_max_body_size?10m;?

    client_body_buffer_size?128k;?

    proxy_connect_timeout?90;?

    proxy_send_timeout?90;?

    proxy_read_timeout?90;?

    proxy_buffer_size?4k;?

    proxy_buffers?4?32k;?

    proxy_busy_buffers_size?64k;?

    proxy_temp_file_write_size?64k;?

  }

}

upstream指定负载均衡组,指定其Tomcat成员location?~*?\.(jpg|gif|……实现了静态资源分离。ps:在location指令使用正则表达式后再用alias指令,Nginx是不支持的。

 

2、Nginx实现静态资源分离

Tomcat服务:

?192.168.1.177:8000

Nginx配置:

server?{???
listen?80;???
server_name?www.iu14.com;???
root?/web/www/html;??
location?/img/?{???
alias?/web/www/html/img/;???
}?
location?~?(\.jsp)|(\.do)$?{
proxy_pass?http://192.168.1.177:8000;?
?? proxy_redirect?off;??? ?
??????? proxy_set_header?Host?$host;??? ?
??? proxy_set_header?X-Real-IP?$remote_addr;???
??? proxy_set_header?X-Forwarded-For?$proxy_add_x_forwarded_for;??
?? client_max_body_size?10m;??
?????????client_body_buffer_size?128k;??
?????????proxy_connect_timeout?90;???
proxy_send_timeout?90;???
proxy_read_timeout?90;??? ????????
proxy_buffer_size?4k;???????????
proxy_buffers?4?32k;??? ???????
proxy_busy_buffers_size?64k;???????????
proxy_temp_file_write_size?64k;?
}
}
第一个location指令将/web/www/html/img/目录下的静态文件交给Nginx来完成。最后一个location指令将所有以.jsp、.do结尾的文件都交给Tomcat服务器的8080端口来处理。
3、Nginx+Tomcat+Redis实现session共享?
Redis服务?
192.168.1.178:6379?
Tomcat服务?
192.168.1.177:8001?
192.168.1.177:8002?
192.168.1.177:8003
Nginx服务?
192.168.1.179?
配置Tomcat让其session保存到redis上,在context.xml配置(Value标签一定要在Manager标签前面):

技术图片

 

配置Nginx?
upstream?mytomcats?{??
? server?192.168.1.177:8001;???
server?192.168.1.177:8002;???
server?192.168.1.177:8003;???
}?

log_format?www_iu14_com?‘$remote_addr?-?$remote_user?[$time_local]?$request?‘?‘"$status"?$body_bytes_sent?"$http_referer"‘??‘"$http_user_agent"?"$http_x_forwarded_for"‘;???
server?{?
listen??80;???
server_name?www.iu14.com;????????
location?/?{??? ????????
proxy_pass?http://?mytomcats;
proxy_set_header?Host?$host;??? ???????
?proxy_set_header?X-Real-IP?$remote_addr;??? ????????
proxy_set_header?X-Forwarded-For?$proxy_add_x_forwarded_for;???
}???
access_log?/usr/tmp/logs/redis.iu14.log?www_iu14_com;???
}
}
依次启动Redis、Tomcat、Nginx,访问Nginx

 

 

 

Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

标签:article   user   stat   write   off   byte   cat   ESS   roo   

原文地址:https://www.cnblogs.com/hongmoshui/p/10422362.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!