浏览 9080 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2014-06-11
最后修改:2014-06-18
《让 memcached-session-filter 摆脱 spring 和 Java 序列化接口》
前几天介绍了一下 memcached-session-filter 的改写这次介绍一下实际应用其搭建一个 tomcat 集群的服务器,以测试为目的。 为了解决静态文件与动态请求分离和上传文件的访问问题,把 1 个 nginx 和 2 个 tomcat 服务器目录均放在 D:/web/ROOT 1、共享 session 的通过 filter 将 session 数据存储到 memcached 中。 修改自 memcached-session-filter ,项目地址:http://code.google.com/p/memcached-session-filter/ 设置 Java 项目的配置文件 web.xml <pre name="code" class="xml"> <filter> <filter-name>sessionFilter</filter-name> <filter-class>com.ezerg.memsession.MemcachedSessionFilter</filter-class> <init-param> <param-name>memcachedNodes</param-name> <param-value>localhost:11211 localhost:11212</param-value> </init-param> <init-param> <param-name>sessionTimeout</param-name> <param-value>300</param-value> </init-param> </filter> <filter-mapping> <filter-name>sessionFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </pre> 将项目文件复制到 D:/web/ROOT 目录。 2、启动 2 个 tomcat 服务器。 修改 server.xml ,修改一个即可,防止端口冲突不能启动 <pre name="code" class="xml"> <!-- 修改port端口:10086 2 个 tomcat 不能重复--> <Server port="10086" shutdown="SHUTDOWN"> <!-- port="8081" tomcat 监听端口--> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- 配置 AJP 端口,直接注释--> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <!-- 服务器路径 --> <Host name="localhost" appBase="d:/web" unpackWARs="false" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false"> </pre> 修改完成后,分别启动 tomcat 。 3、启动 nginx 服务器。 修改 nginx.conf 文件,以下是一些主要的配置: ... //开启 gzip gzip on; ... //负载的两台 tomcat upstream tomcat { ip_hash; server 192.168.0.31:8081 max_fails=1 fail_timeout=60s; server 192.168.0.31:8082 max_fails=1 fail_timeout=60s; } server { .. // 静态文件根目录 location / { root d:/web/ROOT; index index.html index.htm index.do; client_max_body_size 100m; client_body_buffer_size 128k; } ... // .jsp 和 .do 的请求转发给 tomcat location ~ (\.jsp)|(\.do)$ { proxy_connect_timeout 4s; proxy_read_timeout 2s; proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://tomcat; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } // 禁止访问 WEB-INF location ~ ^/(WEB-INF)/ { deny all; } ... 建议: 1、max_fails 参数在大型系统中建议设置为3,如果没有多个后端服务器的话保持默认即可。 2、proxy_read_timeout要根据自身程序而定。 修改完成后,启动 nginx 。修改配置文件后,可以动态加载配置文件:nginx -s reload 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2014-06-17
mark,有空试试
|
|
返回顶楼 | |
发表时间:2014-06-18
格式化一下多好。。
|
|
返回顶楼 | |
发表时间:2014-06-18
MrLee23 写道 格式化一下多好。。
格了。。 |
|
返回顶楼 | |