Tomat集群 + Tomcat集群session共享 + Nginx负载 + Nginx静态资源代理

来源:互联网 发布:小儿常见病推拿软件 编辑:程序博客网 时间:2024/03/29 12:38

Nginx安装配置:

具体过程参考:http://blog.csdn.net/mr__fang/article/details/40342045

Nginx  nginx.conf

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. #user  nobody;  
  2. worker_processes  4;  
  3.   
  4. error_log   logs/error.log;  
  5. #error_log  logs/error.log  notice;  
  6. #error_log  logs/error.log  info;  
  7.   
  8. pid        logs/nginx.pid;  
  9.   
  10.   
  11. events {  
  12.     use epoll;  
  13.     worker_connections  65535;  
  14. }  
  15.   
  16. http {  
  17.     include       mime.types;  
  18.     default_type  application/octet-stream;  
  19.   
  20.     log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '  
  21.                       '$status $body_bytes_sent "$http_referer" '  
  22.                       '"$http_user_agent" "$http_x_forwarded_for"';  
  23.   
  24.     access_log  logs/access.log  access;  
  25.   
  26.     server_names_hash_bucket_size 128;  
  27.     client_header_buffer_size 32k;  
  28.     large_client_header_buffers 4 32k;  
  29.     client_max_body_size 8m;  
  30.       
  31.     sendfile        on;  
  32.     tcp_nopush      on;  
  33.     tcp_nodelay     on;  
  34.   
  35.     #keepalive_timeout  0;  
  36.     keepalive_timeout  60;  
  37.       
  38.     fastcgi_connect_timeout 300;  
  39.     fastcgi_send_timeout 300;  
  40.     fastcgi_read_timeout 300;  
  41.     fastcgi_buffer_size 64k;  
  42.     fastcgi_buffers 4 64k;  
  43.     fastcgi_busy_buffers_size 128k;  
  44.     fastcgi_temp_file_write_size 128k;  
  45.   
  46.     ##cache##  
  47.     proxy_connect_timeout 5;  
  48.     proxy_read_timeout 60;  
  49.     proxy_send_timeout 5;  
  50.     proxy_buffer_size 16k;  
  51.     proxy_buffers 4 64k;  
  52.     proxy_busy_buffers_size 128k;  
  53.     proxy_temp_file_write_size 128k;  
  54.     proxy_temp_path /home/temp_dir;  
  55.     proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;  
  56.     ##end cache##  
  57.   
  58.     ##gzip##  
  59.     gzip  on;  
  60.     gzip_min_length  1k;  
  61.     gzip_buffers     4 16k;  
  62.     gzip_http_version 1.0;  
  63.     gzip_comp_level 2;  
  64.     gzip_types  text/plain application/x-javascript text/css application/xml;  
  65.     gzip_vary on;  
  66.     ##end gzip##  
  67.   
  68.     ##Tomcat Cluster##  
  69.     upstream tomcat_proxy{  
  70.         server 192.168.204.81:18080;  
  71.         server 192.168.204.81:28080;  
  72.         server 192.168.204.81:38080;  
  73.     }  
  74.     ##Tomcat Cluster##  
  75.   
  76.     server {  
  77.         listen       80;  
  78.         server_name  fang.com www.fang.com;  
  79.     index aa.html;  
  80.     root /ss;  
  81.   
  82.         location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {  
  83.             proxy_pass http://tomcat_proxy;  
  84.             proxy_redirect off;  
  85.             proxy_set_header Host $host;  
  86.             proxy_cache cache_one;  
  87.             proxy_cache_valid 200 302 1h;  
  88.             proxy_cache_valid 301 1d;  
  89.             proxy_cache_valid any 1m;  
  90.             expires    7d;  
  91.         }  
  92.           
  93.         #所有jsp、do的动态请求都交给后面的tomcat处理  
  94.         location ~ (\.jsp)|(\.do)$ {  
  95.             #tomcat地址  
  96.             proxy_pass http://tomcat_proxy;  
  97.             proxy_redirect off;  
  98.             proxy_set_header HOST $host;  
  99.             proxy_set_header X-Real-IP $remote_addr;  
  100.             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
  101.             client_max_body_size 10m;  
  102.             client_body_buffer_size 128k;  
  103.             proxy_connect_timeout 90;  
  104.             proxy_send_timeout 90;  
  105.             proxy_read_timeout 90;  
  106.             proxy_buffer_size 4k;  
  107.             proxy_buffers 4 32k;  
  108.             proxy_busy_buffers_size 64k;  
  109.             proxy_temp_file_write_size 64k;  
  110.         }  
  111.   
  112.         location /nginxstatus {  
  113.             stub_status on;  
  114.             access_log off;  
  115.         }  
  116.     }  
  117. }  


Tomcat 配置文件:

参考:http://blog.csdn.net/mr__fang/article/details/40397449

Tomcat集群修改:

<Server port="18005"

<Connector port="18080"

<Connector port="18009" protocol="AJP/1.3"


server.xml 中Engine配置(集群中所有Tomcat配置一样):

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <Engine defaultHost="www.fang.com" name="Catalina">  
  2.   
  3.     <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">  
  4.       <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>  
  5.       <Channel className="org.apache.catalina.tribes.group.GroupChannel">  
  6.         <Membership className="org.apache.catalina.tribes.membership.McastService"  
  7.                     address="228.0.0.4"  
  8.                     port="45564"  
  9.                     frequency="500"  
  10.                     dropTime="3000"/>  
  11.         <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"  
  12.                   address="auto"  
  13.                   port="14000"  
  14.                   selectorTimeout="5000"  
  15.                   maxThreads="6"/>  
  16.         <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">  
  17.           <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>  
  18.         </Sender>  
  19.         <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>  
  20.         <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>  
  21.       </Channel>  
  22.       <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>  
  23.       <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>  
  24.       <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>  
  25.       <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>  
  26.     </Cluster>  
  27.   
  28.       <Realm className="org.apache.catalina.realm.LockOutRealm">  
  29.         <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>  
  30.       </Realm>  
  31.   
  32.       <Host name="www.fang.com" appBase="webapps" autoDeploy="true" unpackWARs="true">  
  33.         <Context path="" docBase="fang" reloadable="true" source="org.eclipse.jst.jee.server:fang"/>  
  34.   
  35.         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>  
  36.   
  37.       </Host>  
  38.     </Engine>  

web.xml配置:

主要增加 <distributable/>  标签。

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
  5.     id="WebApp_ID" version="3.0">  
  6.     <display-name>fang</display-name>  
  7.     <welcome-file-list>  
  8.         <welcome-file>index.jsp</welcome-file>  
  9.     </welcome-file-list>  
  10.       
  11.     <distributable/>  
  12. </web-app>  
0 0
原创粉丝点击