lygyh9985825 发表于 2018-11-12 06:13:25

LVS+Keepalived+Nginx+Tomcat高可用集群搭建

usernginx;  
worker_processesauto;
  
events {
  
    worker_connections65535;
  
    #使用epoll模块增强性能
  
    use epoll;
  
    #打开文件描述符(缓存有用)
  
    multi_accept on;
  
}
  
http {
  
    #隐藏nginx版本号
  
    server_tokens off;
  
    #指定nginx配置的软链接
  
    include       mime.types;
  
    include   conf.d/*;
  
    #默认文件类型
  
    default_typetext/html;
  
    #日志格式默认
  
    log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '
  
                      '$status $body_bytes_sent "$http_referer" '
  
                      '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
  
    #开启高效的文件传输模式
  
    sendfile      on;
  
    #连接超时后重置连接,减少等待
  
    reset_timedout_connection off;
  
    #限制连接,zone自定义
  
    limit_conn_zone $binary_remote_addr zone=addr:5m;
  
    #限制连接数每个用户最大打开100次
  
    limit_conn addr 100;
  
    #默认一个一个发,这里为发送所以头部文件
  
    tcp_nopush   on;
  
    #不缓存数据
  
    tcp_nodelay on;
  
    #字符集
  
    charset UTF-8;
  
    #连接超时(秒)
  
    keepalive_timeout65;
  
    #开启压缩
  
    gzipon;
  
    gzip_proxied any;
  
    gzip_min_length 1000;
  
    gzip_comp_level 4;
  
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
  
    #设置访问头部
  
    proxy_redirect off;
  
    proxy_set_header Host $host;
  
    proxy_set_header X-Real-IP $remote_addr;
  
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  
    #设置缓存
  
    client_max_body_size 10m;
  
    client_body_buffer_size 128k;
  
    proxy_connect_timeout 75;
  
    proxy_read_timeout 300;
  
    proxy_send_timeout 300;
  
    proxy_buffer_size 16k;
  
    proxy_buffers 4 64k;
  
    proxy_busy_buffers_size 128k;
  
    proxy_temp_file_write_size 128k;
  
    proxy_temp_path /data/temp_path;
  
    proxy_cache_path /data/cache_path levels=1:2 keys_zone=cache_one:200m inactive=5d max_size=30g;
  
    #设置负债均衡
  
    upstream www.limeng.com {
  
    server 192.168.23.16;
  
    server 192.168.23.17;
  
    server 192.168.23.18;
  
    #设置nginx连接tomcat之间得连接为长连接。此设置默认关闭,导致nginx与tomcat得time_wait短暂,造成资源浪费,keepalive默认单位秒,官方建议16不可大不可小。
  
    keepalive 16
  
}
  
server {
  
      listen       80;
  
      server_name limeng;
  
      indexindex.html index.htm index.jsp index.do;
  
      #默认代理本机默认页面
  
      location / {
  
                proxy_pass http://www.limeng.com;
  
      }
  
      #设置缓存策略
  
      location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
  
      {
  
            root /usr/local/nginx/ROOT;
  
            if (-f $request_filename) {
  
            expires 1d;
  
            break;
  
            }
  
            proxy_cache_key '$host:$server_port$request_uri';#缓存服务和路径
  
            proxy_redirect off;
  
            proxy_cache cache_one;#缓存的zone名
  
            proxy_cache_valid 200 302 1h; #缓存200和302时间1小时
  
            proxy_cache_valid 301 1d;#缓存301时间为1天
  
            proxy_cache_valid any 1m; #其他缓存为1个月
  
            expires 7d;
  
      }
  
      #设置其他未缓存策略
  
         location ~ .*$(jsp|do)
  
       {
  
            #设置长连接策略,nginx默认为http1.0,而tomcat默认为http1.1 。
  
            proxy_http_version 1.1;
  
            proxy_set_header Connection "";
  
            proxy_pass http://www.limeng.com
  
            if (-f $request_filename) {
  
            expires 1d;
  
            break;
  
            }
  
      }
  
      #禁止nginx访问tomcat的关键目录
  
       location ~ ^/(WEB-INF|META-INF)/{
  
                deny all;
  
      }
  
      #默认的访问代码
  
      error_page   500 502 503 504/50x.html;
  
      location = /50x.html {
  
            root   html;
  
      }
  
    }


页: [1]
查看完整版本: LVS+Keepalived+Nginx+Tomcat高可用集群搭建