nginx +tomcat7+memcached负载均衡配置

来源:互联网 发布:集美大学网络中心主任 编辑:程序博客网 时间:2024/06/06 06:43

1、memcached缓存

memcached文件  下载地址:http://download.csdn.net/detail/bbirdsky/7395123

配置说明:

1、解压到指定目录,如:E:\memcached

2、用cmd打开命令窗口,转到解压的目录,输入“memcached -d install”

3、查看是否安装成功,输入memcached –h,出现下图窗口说明已经安装成功。

1.2 需要一写jar

javolution-5.4.3.1.jar

memcached-2.4.2.jar

memcached-session-manager-1.5.1.jar

memcached-session-manager-tc6-1.5.1.jar

msm-javolution-serializer-1.5.1.jar

msm-kryo-serializer-1.5.1.jar

msm-xstream-serializer-1.5.1.jar

这些jar包放在tomcatlib

 下载地址:http://download.csdn.net/detail/zfy18856491476/9662333

 

2、nginx 配置

下载地址:http://download.csdn.net/detail/zfy18856491476/9662332

配置说明:解压到D:根目录下,运行cmd命令d: 然后  cd 到文件夹 最后 nginx.exe

查看服务是否启动。

 

 

3、准备tomcat 7文件(多个)

下载地址:http://download.csdn.net/detail/zfy18856491476/9662344

配置说明:

1、  修改端口号,修改tomcat下面的conf下面的server.xml文件,

第一处:<Serverport="8110" shutdown="SHUTDOWN">

第二处:<Connectorport="8111" protocol="HTTP/1.1"

              connectionTimeout="20000"

               redirectPort="8443"URIEncoding="UTF-8"/>

第三处:<Connectorport="8112" protocol="AJP/1.3"redirectPort="8443" />

修改三处的port,不能重复

 

2、  修改context.xml文件

在<Context></Context>添加  <ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"

                  memcachedNodes="n1:192.168.0.103:11211"   //缓存服务器的地址

                  sticky="false"

                  lockingMode="auto"

                  sessionBackupAsync="false"

                  requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

                  sessionBackupTimeout="1000"transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>   

3、  将开始下载的jar、包放入tomcat 的lib 文件夹中

4、       修改nginx的nginx.conf文件

worker_processes  1;

 

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

 

#pid        logs/nginx.pid;

events {

#允许最大连接数

worker_connections  1024;

}

 

http {

         server_names_hash_bucket_size 128;

         client_header_buffer_size 32k;

         large_client_header_buffers 4 32k;

         client_max_body_size 8m;

 

         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 128k;

         ##cache##

         proxy_connect_timeout 5;

         proxy_read_timeout 60;

         proxy_send_timeout 5;

         proxy_buffer_size 16k;

         proxy_buffers 4 64k;

         proxy_busy_buffers_size 128k;

         proxy_temp_file_write_size 128k;

         proxy_temp_path f:/itsCache/temp_dir;

         proxy_cache_path f:/itsCache/cachekeys_zone=cache_one:500m inactive=1d max_size=30g;

         ##end##

        

         gzip  on; #该指令用于开启或关闭gzip模块(on/off)

         gzip_min_length   1k;#设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大

         gzip_buffers  4 8k;#设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。

         gzip_http_version 1.1;#识别http的协议版本(1.0/1.1)

         gzip_comp_level 6;#gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)

      gzip_types text/plain application/x-javascript text/css application/xml;#匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。

         gzip_vary on;#和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

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

         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"';

         log_format access  '$remote_addr - $remote_user[$time_local]"$request" '

            '$status $body_bytes_sent"$http_referer" '

            '"$http_user_agent"$http_x_forwarded_for';

  upstream localhost {

    #根据ip计算将请求分配各那个后端tomcat,许多人误认为可以解决session问题,其实并不能。 

         #同一机器在多网情况下,路由切换,ip可能不同 

         #ip_hash;  

         server localhost:8211; 

         server localhost:8311;

         server localhost:8111;

  }

server {

         listen       8089;

         server_name  localhost;

 

         #charset koi8-r;

 

         #access_log  logs/host.access.log  main;

 

         location / {

                  proxy_connect_timeout   3;

                  proxy_send_timeout      30;

                  proxy_read_timeout      30;

                  proxy_pass http://localhost;

         }

         location ~\.(gif|jpg|png|htm|html|css|js|flv|ico|swf|xls|cur)$ {

                  proxy_pass http://localhost ;

        proxy_redirect off;

        proxy_set_header Host $host;

        proxy_cache cache_one;

        proxy_cache_valid 200 302 1h;

        proxy_cache_valid 301 1d;

        proxy_cache_valid any 1m;

        expires 30d;

         }

 

#error_page  404              /404.html;

 

# redirectserver error pages to the static page /50x.html

#

error_page   500 502 503 504  /50x.html;

location =/50x.html {

root   html;

}

 

# proxy the PHPscripts to Apache listening on 127.0.0.1:80

#

#location ~\.php$ {

#    proxy_pass  http://127.0.0.1;

#}

 

# pass the PHPscripts to FastCGI server listening on 127.0.0.1:9000

#

#location ~\.php$ {

#    root           html;

#    fastcgi_pass   127.0.0.1:9000;

#    fastcgi_index  index.php;

#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

#    include        fastcgi_params;

#}

 

# deny access to.htaccess files, if Apache's document root

# concurs withnginx's one

#

#location ~/\.ht {

#    deny all;

#}

}

}

 

 

 

 

1 0
原创粉丝点击