CentOS7 配置Tengine反向代理tomcat包含健康检查等功能

前一篇文章:CentOs7 安装Tengine 并设置成系统服务,开机自动启动。


如果Tomcat报错则加入

proxy_set_header Host $http_host;
proxy_set_header Origin $http_origin;




本文记录如何配置Tengine反向代理后台真实服务器,并配置建行检查以及一些常用的功能。


/usr/local/nginx/sbin/nginx -h 可以查看Nginx的命令。 .

1.修改配置文件

/usr/local/nginx/conf/nginx.conf

修改完配置文件后使用命令 /usr/local/nginx/sbin/nginx -t 测试文件是否正确。
如果正确使用命令 /usr/local/nginx/sbin/nginx -s reload 来重新加载配置文件。


#user  nobody;
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;
}


# load modules compiled as Dynamic Shared Object (DSO)
#
#dso {
#    load ngx_http_fastcgi_module.so;
#    load ngx_http_rewrite_module.so;
#}


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


    #是否关闭访问日志,在上线环境需要关闭
    #access_log off;
    #access_log  logs/access.log  main;


    sendfile        on;
    #tcp_nopush     on;


    #keepalive_timeout  0;
    keepalive_timeout  65;


    #gzip  on;


    # http_proxy 设置
    #允许客户端请求的最大单文件字节数,如果有上传较大文件,请设置它的限制值,如果设置为0表示不限制
    client_max_body_size 1m;
    #缓冲区代理缓冲用户端请求的最大字节数 默认16k 如果请求request body大小超出设置 将写入临时文件
    client_body_buffer_size   128k;
    #用来设置临时存储客户端请求数据的目录
    client_body_temp_path /usr/local/nginx/client_temp 1 2;


    #nginx跟后端服务器连接超时时间(代理连接超时) 默认60s 最大不超过75s.
    proxy_connect_timeout   75s;


    #设置数据发送到代理服务器的超时时间。默认60s 最大不超过75s 
    #超时是针对两次写之间的间隔,而不是整个数据写入传输的时间,如果代理服务器没有在这段时间内收到任何东西,连接被关闭。
    proxy_send_timeout   75s;


    #设置从代理服务器读取数据的超时时间。默认60s 最大不超过75s 
    #超时是针对两次读取之间的间隔,而不是整个数据读取传输的时间,如果代理服务器没有在这段时间内发送任何东西,连接被关闭。
    proxy_read_timeout   75s;
    proxy_buffer_size   32k;
    proxy_buffers   4 32k;
    proxy_busy_buffers_size   64k;
    proxy_temp_file_write_size  64k;
    proxy_temp_path   /usr/local/nginx/proxy_temp 1 2;
    proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=10g;


    upstream local_tomcat  {  
        server 127.0.0.1:8080 weight=1;
        server 127.0.0.1:8088 weight=1;


        #健康检查
        check interval=3000 rise=2 fall=5 timeout=1000 type=http;
        check_http_send "HEAD / HTTP/1.0\r\n\r\n";
        check_http_expect_alive http_2xx http_3xx;
    } 


    server {
        listen       80;
        #server_name  localhost;


        #charset koi8-r;


        #access_log  logs/host.access.log  main;


        #查看负载均衡节点状态
        location /status {
            check_status html;
            access_log   off;
            allow 192.168.80.1;
            deny all;
        }


        location / {
            proxy_pass http://local_tomcat;
        }


        #配置Nginx缓存,Nginx加载资源到本地进行缓存,缓存路径配置在proxy_cache_path下面
        location ^~ /examples {
            proxy_pass http://local_tomcat;
            proxy_cache cache_one;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid any 1m;
        }


        location /documents/ {
            root   html;
            index  index.html index.htm;
        }  


        #配置静态文件由Nginx处理
        location ~* /*\.(gif|jpg|jpeg|css|js|png)$ {
            #配置静态文件访问路径
            #例如访问 http://localhost/tomcat.css   那么Nginx会去查找 /home/tomcat/apache-tomcat-7.0.47/webapps/ROOT/tomcat.css
            root /home/tomcat/apache-tomcat-7.0.47/webapps/ROOT;
            #配置静态文件在客户端缓存时间
            expires 30s;
        }

    }


}


2.跟多配置参考淘宝Tengine中文翻译Nginx文档

http://tengine.taobao.org/nginx_docs/cn/docs/






参考文章

http://seanlook.com/2015/05/17/nginx-install-and-config/   配置

http://seanlook.com/2015/05/17/nginx-location-rewrite/    URL规则

http://www.nginx.cn/115.html  URL规则



你可能感兴趣的:(Linux)