nginx tomcat glassfish session 复制配置

1、nginx配置

[[email protected] ~]# cat /usr/local/nginx/conf/nginx.conf | grep -v ^$ | grep -v ^#

user  www www;

worker_processes auto;

error_log  /home/wwwlogs/nginx_error.log  notice;

pid        /usr/local/nginx/logs/nginx.pid;

worker_rlimit_nofile 51200;

events

{

use epoll;

worker_connections 51200;

multi_accept on;

}

http

{

ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;

include       mime.types;

default_type  application/octet-stream;

server_names_hash_bucket_size 128;

client_header_buffer_size 32k;

large_client_header_buffers 4 32k;

client_max_body_size 50m;

sendfile on;

tcp_nopush     on;

keepalive_timeout 60;

tcp_nodelay on;

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 256k;

gzip on;

gzip_min_length  1k;

gzip_buffers     4 16k;

gzip_http_version 1.0;

gzip_comp_level 2;

gzip_types       text/plain application/x-javascript text/css application/xml;

gzip_vary on;

gzip_proxied        expired no-cache no-store private auth;

gzip_disable        "MSIE [1-6]\.";

#limit_conn_zone $binary_remote_addr zone=perip:10m;

##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.

server_tokens off;

#log format

log_format access ‘$http_clientip  --  [$time_local]‘

‘  --  $request^A$status  --  $body_bytes_sent  --  $connection_requests‘

‘  --  $remote_addr  --  $http_referer  --  $http_user_agent‘

‘  --  $request_body  --  $request_time  --  $msec‘;

upstream phpsite

{

server 10.10.130.237:9000;

server 10.10.130.238:9000;

}

upstream test.wych.com{

server 10.10.12.162:8005;

server 10.10.12.182:8005;

}

upstream tomcat_pool{

server 10.10.12.167:8001;

server 10.10.12.187:8001;

}

upstream glassfish_pool{

server 10.10.12.65:28082;

server 10.10.12.85:28082;

}

ssi on;

ssi_silent_errors on;

ssi_types text/shtml;

server {

listen       80;

listen       443   ssl;

server_name  test.wych.com;

ssl_certificate /usr/local/nginx/ssl/server.crt;

ssl_certificate_key /usr/local/nginx/ssl/server.key;

access_log logs/test.wych.com.log access;

location  /cluster/ {

proxy_set_header   ServerName          $server_name;

proxy_pass http://test.wych.com/cluster/;

}

location /status {

stub_status on;

access_log   off;

}

}

server {

listen       80;

listen       443   ssl;

server_name  su.wych.com;

ssl_certificate /usr/local/nginx/ssl/server.crt;

ssl_certificate_key /usr/local/nginx/ssl/server.key;

access_log logs/su.wych.com.log access;

location  /cluster/ {

proxy_set_header   ServerName          $server_name;

}

location  / {

proxy_set_header   ServerName          $server_name;

}

location /status {

stub_status on;

access_log   off;

}

}

server {

listen       80;

server_name  10.10.130.237;

location / {

proxy_pass http://glassfish_pool;

proxy_redirect off;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $http_host;

}

}

include vhost/*.conf;

}

二、tomcat改动

<!-- You should set jvmRoute to support load-balancing via AJP ie :

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

-->

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

<!--For clustering, please take a look at documentation at:

/docs/cluster-howto.html  (simple how to)

/docs/config/cluster.html (reference documentation) -->

<!--

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

-->

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

channelSendOptions="6">

<Manager className="org.apache.catalina.ha.session.BackupManager"

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"

mapSendOptions="6"/>

<!--

<Manager className="org.apache.catalina.ha.session.DeltaManager"

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"/>

-->

<Channel className="org.apache.catalina.tribes.group.GroupChannel">

<Membership className="org.apache.catalina.tribes.membership.McastService"

address="228.0.0.4"

port="45564"

frequency="500"

dropTime="3000"/>

<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

address="auto"

port="4000"

selectorTimeout="100"

maxThreads="6"/>

<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

</Sender>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>

</Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"

filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt"/>

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

tempDir="/tmp/war-temp/"

deployDir="/tmp/war-deploy/"

watchDir="/tmp/war-listen/"

watchEnabled="false"/>

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

</Cluster>

三、glassfish

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="" classpath-suffix="">

<jvm-options>-Djava.awt.headless=true</jvm-options>

<jvm-options>-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy</jvm-options>

<jvm-options>-Dfelix.fileinstall.disableConfigSave=false</jvm-options>

<jvm-options>-Dosgi.shell.telnet.maxconn=1</jvm-options>

<jvm-options>-XX:NewRatio=2</jvm-options>

<jvm-options>-Dfelix.fileinstall.poll=5000</jvm-options>

<jvm-options>-Djava.endorsed.dirs=${com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}/lib/endorsed</jvm-options>

<jvm-options>-Dosgi.shell.telnet.port=6666</jvm-options>

<jvm-options>-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory</jv

m-options>

<jvm-options>-Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instan

ceRoot}/lib/ext</jvm-options>

<jvm-options>-XX:PermSize=64m</jvm-options>

<jvm-options>-Dgosh.args=--nointeractive</jvm-options>

<jvm-options>-Djavax.management.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder</jvm-options>

<jvm-options>-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as</jvm-options>

<jvm-options>-XX:MaxPermSize=192m</jvm-options>

<jvm-options>-XX:+UnlockDiagnosticVMOptions</jvm-options>

<jvm-options>-Dfelix.fileinstall.bundles.startTransient=true</jvm-options>

<jvm-options>-Dfelix.fileinstall.bundles.new.start=true</jvm-options>

<jvm-options>-Dfelix.fileinstall.dir=${com.sun.aas.installRoot}/modules/autostart/</jvm-options>

<jvm-options>-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf</jvm-options>

<jvm-options>-Dfelix.fileinstall.log.level=2</jvm-options>

<jvm-options>-Dosgi.shell.telnet.ip=127.0.0.1</jvm-options>

<jvm-options>-DjvmRoute=${AJP_INSTANCE_NAME}</jvm-options>

<jvm-options>-client</jvm-options>

<jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks</jvm-options>

<jvm-options>-Xmx512m</jvm-options>

<jvm-options>-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver</jvm-options>

<jvm-options>-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks</jvm-options>

<jvm-options>-DANTLR_USE_DIRECT_CLASS_LOADING=true</jvm-options>

</java-config>

时间: 2024-10-08 09:04:24

nginx tomcat glassfish session 复制配置的相关文章

Nginx+tomcat实现session共享

防伪码:人生没有对错,成功永远属于奋斗者 一.如何保持session会话 目前,为了使web能适应大规模的访问,需要实现应用的集群部署.集群最有效的方案就是负载均衡,而实现负载均衡用户每一个请求都有可能被分配到不固定的服务器上,这样我们首先要解决session的统一来保证无论用户的请求被转发到哪个服务器上都能保证用户的正常使用,即需要实现session的共享机制. 在集群系统下实现session统一的有如下几种方案: 1.请求精确定位:sessionsticky,例如基于访问ip的hash策略,

Nginx + tomcat + Memcached(session共享)

Nginx + tomcat + Memcached(session共享) 实验拓扑 nginx   实现负载 tomcat   实现web功能 memcached 实现会话共享 安装Nginx [[email protected] ~]# yum -y install pcre pcre-devel [[email protected] ~]# tar -zxvf nginx-1.0.5.tar.gz [[email protected] ~]# cd nginx-1.0.5 [[email 

Nginx+Tomcat+Memcached负载均衡配置完整流程(多方总结,亲测可用)

Nginx+Tomcat+Memcached负载均衡配置完整流程: 前言: Nginx实现Tomcat的负载均衡和利用memcached实现session共享. 首先配置tomcat,JDK 将jdk,tomcat 放入站点/opt目录中 安装JDK cd /opt chmod 755 jdk-6u45-linux-x64-rpm.bin ./jdk-6u45-linux-x64-rpm.bin java -version      //检验版本 安装Tomcat tar -zxf apache

Nginx+Tomcat+MemCached 集群配置手册

系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目    录 第1章   概述 1.1   目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架构时会应用很多高性能的产品, 本文主要描述互联网架构中门户应用的集群的配置工作,最终用以指导系统实施. 1.2   预期读者 本文档用于指导系统工程师进行系统实施工作,架构师和系统工程师应该通读本文档,选择适当版本用于自己的系统架构. 第2章   产品介绍 2.1   Nginx介绍 Nginx是一

Nginx+Tomcat的服务器端环境配置详解

这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.Java JDK安装: #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-Linux-x64.tar.gz ? 1 tar -xzf jdk-7u25-linux

Tomcat集群的session复制配置

此处我们采用的是在一台服务器上配置3台Tomcat,为了达到访问任何一台Tomcat都共享session的目的,我们这里采用Tomcat在集群中的session复制,以下是具体的配置 1.我们将Tomcat复制3份,更改名字为Tomcat1.Tomcat2.Tomcat3,修改每个Tomcat中的Server节点端口分别为8005.8006.8007 1 #Tomcat1 2 <Server port="8005" shutdown="SHUTDOWN">

CentOS7 下 Nginx + Tomcat 实现 Session 共享

在之情的文章中搭建的 centos7 + tomcat + nginx 的环境的基础上, 使用 redis 实现 tomcat 的 session 共享的问题. 一 : 安装 Redis 安装 gcc: yum install -y gcc-c++ 使用 FTP 服务器上传安装包,解压上传的 redis 的包 tar -zxvf redis-3.0.0.tar.gz 进入解压目录 redis-3.0.0 执行 make PREFIX=/usr/local/redis install 把 redi

nginx+tomcat+memcache+session绑定

节点信息 节点1 ip:172.16.30.1 nginx 节点101 ip:172.16.30.101 tomcat 节点102 ip:172.16.30.102 tomcat 通过nginx代理访问后端tomcat,并实现memcache的会话绑定,即同一个浏览器访问得到的session结果是一样的 1.节点1安装nginx [[email protected] ~]# yum install -y nginx 1.1.启动nginx测试 [[email protected] ~]# ser

HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)

这是本人的服务器部署笔记.文章名称叫"部署笔记1"的原因是之后我对这个进行了改进之后,会有"部署笔记2","部署笔记3"...循序渐进,估计应该是这样的:) 概述与设计 nginx安装 nginx基本使用 nginx的配置 tomcat的安装与配置 部署程序 待续 概述与设计 主机使用阿里云主机,配置不高,但前期应该够用,以后有需要的话再升级. 主要的业务逻辑是用java实现,并用tomcat承载,但大家知道tomcat并不适合作为大量的静态资源