Nginx+Redis+Tomcat 负载均衡配置,修改了网上部分教程配置错误问题

川哥哥哥哥 2017-11-24 01:49:45
注:大部分参考:https://my.oschina.net/liting/blog/535273 谢谢原作者.再写一遍博客是希望自己以后能记住

配置环境使用三个tomcat, 三台tomcat、redis和nginx都在一台机器上,为了方便测试和部署。

大致的整个配置的架构:



在这个图中,nginx做为反向代理,将客户请求根据权重随机分配给三台tomcat服务器,redis做为三台tomcat的共享session数据服务器。

规划

redis

localhost:6379

nginx

localhost:80

tomcat

localhost:8081
localhost:8082
localhost:8083



windows版redis安装教程:http://www.cnblogs.com/zhrxidian/p/5491285.html#3482870

tomcat配置:

在server.xml的context节点加入以下而配置     //这部分的配置网上大部分是错误的,因为类名,路径已经改变

<Valve  className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
     host="localhost"  //服务器地址
     port="6379"
     database="0" 
     maxInactiveInterval="60" />

并在tomcat的lib包放以下三个jar包:

1.tomcat-redis-session-manager1.2.jar  //经过再编译的  

       链接:http://pan.baidu.com/s/1o7OhlUy 密码:9k7j

jedis-2.8.0.jar

       链接:http://pan.baidu.com/s/1o8xte9k 密码:5t73

commons-pool2.2.0.jar

      链接:http://pan.baidu.com/s/1hsBI1ve 密码:cset

nginx      

nginx的安装教程:     http://blog.csdn.net/grhlove123/article/details/47834673 

修改nginx文件目中的conf/nginx.conf文件为:

#user nobody;
worker_processes 1;

error_log logs/error.log;

pid logs/nginx.pid;

events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

upstream localhost {
server localhost:8081 weight=1;
server localhost:8082 weight=2;
server localhost:8083 weight=3;
}

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
proxy_pass http://localhost;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100m;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}
}

redis的配置就直接使用默认配置,因为只是测试用,和tomcat一样没有做参数优化配置。





...全文
112 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧