歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> CentOS7 配置Tengine反向代理tomcat包含健康檢查等功能

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

日期:2017/3/3 11:28:08   编辑:Linux技術
前一篇文章:CentOs7 安裝Tengine 並設置成系統服務,開機自動啟動。
本文記錄如何配置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_passhttp://local_tomcat;         }

        #配置Nginx緩存,Nginx加載資源到本地進行緩存,緩存路徑配置在proxy_cache_path下面
        location ^~ /examples {
            proxy_passhttp://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規則
Copyright © Linux教程網 All Rights Reserved