页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

代码块
titlenginx前后端请求分离示例
##设置nginx的proxy的缓存路径
proxy_cache_path /usr/local/nginx/smartbi_cache levels=1:2 keys_zone=smartbi_cache:10m max_size=10g inactive=60m;
	## proxy_cache_path 指定缓存文件目录。
	## levels 缓存的层次结构,每层可以用1(最多16中选择,0-f)或2(最多256种选择,00-ff)表示,中间用 [冒号] 分隔。levels=1:2 表示开启1、2层级(第2层级理论有16*256个目录)。
	## keys_zone 指定一个共享内存空间,所有活动的键和缓存数据相关的信息都被存放在共享内存中,这样nginx可以快速判断一个request是否命中或者未命中缓存,1m可以存储8000个key,10m可以存储80000个key;
	## max_size 缓存使用的最大磁盘空间。如果不指定,会用掉所有磁盘空间,当缓存超过超max_size配置,将会基于LRU算法移除旧数据,以减少缓存占用空间。
	## inactive inactive=60m 表示 60 分钟没有被访问的文件会被清理,inactive的默认值是10分钟。 

upstream smartbi-all {
    server 10.10.204.100:18080;
    ##会话保持配置,nginx默认不带这个功能,需要自行编译才能使用。
    ##不同的sticky模块,配置可能不同。需要参考具体的sticky模块配置说明。
    ##以下是tengine的会话保持配置示例
    session_sticky cookie=smartbi_dynamic_cookie fallback=on path=/smartbi mode=insert option=indirect;

    ##健康检测配置。nginx默认不带这个功能,需要自行编译才能使用。
    ##不同的check模块,配置可能不同。需要参考具体的check模块的配置说明。
    ##以下是tengine的健康检测配置示例
    check interval=3000 rise=2 fall=5 timeout=1000 type=http;
    ## customizeName 是在完全版部署的黑白名单规则配置文件 defenderConfig.json中定义的,具体可以查看 Smartbi前后端分离部署_完全版 里面的说明
    check_http_send "HEAD /smartbi/vision/healthcheck.jsp HTTP/1.0\r\ncustomizeName: smartbi_header\r\n\r\n";

    ## 如果没有配置黑白名单规则,可以使用以下的配置进行smartbi的健康检测。其中xxxx需要换为访问的smartbi的ip或域名。
    ## check_http_send "HEAD /smartbi/vision/healthcheck.jsp HTTP/1.0\r\nHost: xxxx\r\n\r\n";
    check_http_expect_alive http_2xx http_3xx;
}

server {
     listen       8088;
     server_name  10.10.204.150;

    location = /smartbi/vision/gbk.jsp {
		proxy_cache smartbi_cache;
        ## 默认缓存200,301,302的数据,缓存有效期1小时,可以根据实际需要,配置缓存有效期时间。
        proxy_cache_valid 200 304 1h;
        proxy_pass http://smartbi-all;
    }

    location ~ /smartbi/app/.* {
		proxy_cache smartbi_cache;
        proxy_cache_valid 200 304 1h;
        proxy_pass http://smartbi-all;
    }
    
    location ~ /smartbi/vision/ssreport/htmls/.* {
            proxy_pass http://smartbi-all;
    }

    location ~ /smartbi/vision/aichat/proxy/.* {
            proxy_pass http://smartbi-all;
    }

    location ~ /smartbi/vision/officehtmls/.* {
            proxy_pass http://smartbi-all;
    }

    location ~ /smartbi/vision/.*(\.bmp|\.css|\.cur|\.db|\.eot|\.gif|\.GIF|\.htm|\.html|\.ico|\.jpg|\.JPG|\.js|\.json|\.map|\.otf|\.patch|\.png|\.PNG|\.svg|\.swf|\.template|\.ts|\.ttf|\.ttfx|\.txt|\.woff|\.woff2|\.xls|\.xml|\.yml)$ {
		proxy_cache smartbi_cache;
        proxy_cache_valid 200 304 1h;
        proxy_pass http://smartbi-all;
    }

    location ~ /smartbi/smartbix/min/.* {
		proxy_cache smartbi_cache;
        proxy_cache_valid 200 304 1h;
        proxy_pass http://smartbi-all;
    }

    location ~ /smartbi/smartbix/static/.* {
		proxy_cache smartbi_cache;
        proxy_cache_valid 200 304 1h;
        proxy_pass http://smartbi-all;
    }

    location ~ /smartbi/.* {
        proxy_pass http://smartbi-all;
    }
}

...

请求类型请求接口
静态请求

/smartbi/vision/gbk.jsp

/smartbi/app/.*

/smartbi/vision/.*(\.bmp|\.css|\.cur|\.db|\.eot|\.gif|\.GIF|\.htm|\.html|\.ico|\.jpg|\.JPG|\.js|\.json|\.map|\.otf|\.patch|\.png|\.PNG|\.svg|\.swf|\.template|\.ts|\.ttf|\.ttfx|\.txt|\.woff|\.woff2|\.xls|\.xml|\.yml)

/smartbi/smartbix/min/.*

/smartbi/smartbix/static/.*

动态请求除去以上的静态请求,剩下的都是动态请求。

清除缓存

如果smartbi进行版本更新,建议清理nginx中的缓存数据。

代码块
title清理nginx缓存
## 删除缓存数据目录,具体路径在nginx.conf 的proxy_cache_path 参数中配置。
rm -rf  /usr/local/nginx/smartbi_cache/*

## 重新启动nginx
./nginx -s reload