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]