通过Nginx实现smartbi集群的负载均衡,提高smartbi的可用性
1、部署Tomcat和Smartbi
参考 Linux Tocmat部署Smartbi 文档部署Tomcat和Smartbi,并配置好License,知识库相关信息,能正常访问smartbi。
参考 Smartbi Proxy+Tomcat部署Smartbi集群 配置好smartbi config页面中的集群配置。
2、部署Nginx
参考Nginx官方文档 http://nginx.org/en/docs/ 使用源码或者YUM方式部署Nginx。
3、Nginx 配置
1、新增代理配置文件 proxy_params
在nginx的conf文件夹下新建proxy_params文件并加入如下代码:
proxy_redirect default; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 32k; proxy_buffering on; proxy_buffers 4 128k; proxy_busy_buffers_size 256k; proxy_max_temp_file_size 256k;
2、修改nginx.conf配置文件,增加代理配置
打开nginx.conf 修改配置如下:
这里使用ip_hash 权重分配模式每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,对于到smartbi产品的session会话,采取该种权重分配较为合适;
3、测试配置文件是否通过
nginx -t
测试通过!
4、重启nginx
nginx -s reload
5、使用Proxy地址访问smartbi
即 http://ProxyIP:PORT/smartbi/
例如:http://192.168.137.112:80/smartbi/ 可正常代理到后端的任意一台Smartbi。