160512、nginx+多个tomcat集群+session共享(windows版)

第一步:下载nginx的windows版本,解压即可使用,点击nginx.exe启动nginx

或cmd命令

1、启动:

D:\nginx+tomcat\nginx-1.9.3>start nginx或D:\nginx+tomcat\nginx-1.9.3>nginx.exe注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。

2、停止:

D:\nginx+tomcat\nginx-1.9.3>nginx.exe -s stop或D:\nginx+tomcat\nginx-1.9.3>nginx.exe -s quit注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

3、重新载入Nginx:

D:\nginx+tomcat\nginx-1.9.3>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

4、重新打开日志文件:

D:\nginx+tomcat\nginx-1.9.3>nginx.exe -s reopen

5、查看Nginx版本:

D:\nginx+tomcat\nginx-1.9.3>nginx -v

nginx默认端口是80直接访问localhost如果显示nginx欢迎页则表明成功,这一步一般不会出现问题

第三步:配置几个tomcat,每个里面分别将server.xml中8080,8005,8009这几个地方修改掉就可以了

第三步:修改nginx.conf(注意添加红色部分就可以了)

worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

upstream server_lb{#server_lb跟下面的一样

server localhost:8090;#这里是tomcat的地址

server localhost:8091;

}

server {

listen       80;

server_name  localhost;

location / {

root   html;

proxy_pass http://server_lb;

index  index.html index.htm index.jspf index.jsp;

proxy_redirect  default;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

}

第四步:修改每个tomcat中的server.xml配置文件文件

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" jvmRoute="jvmRoute"/>

注,但是此时由于每个tomcat部署同一套工程,如果有数据 直接写往session,而且不是使用的cookie存放session的key(由于访问地址使用ip,并不适用域名,所以没法使用cookie),会 造成两次访问session id不一致。此时就需要做session复制或共享。需要以下操作:

第五步:session共享,因为windows中支持tomcat的广播机制,所以只需在web.xm中添加<distributable/>就可以了;如果再linux中需要实现session共享就不能通过这种方式,linux中可以通过redis,后期将会介绍

通过以上步骤就实现了再windows中nginx集群tomcat,并实现了session共享。如果需要视频的朋友,可以在往期的文章中寻找

上一篇:iOS SDK:iOS调试技巧


下一篇:iOS开发之Xcode常用调试技巧总结