搭建GIS Server集群环境时,通常不建议在GIS Server之间设置防火墙;而建议在服务器环境的前端设置反向代理来隐藏服务器环境的真实地址及端口,保险起见可将反向代理放入DMZ区(前后都设置防火墙),增加安全性。
ArcGIS 10.1 for Server做出的架构改进使得我们在搭建GIS服务器集群环境时更加容易和省心;Nginx因其高性能,耗资源少,稳定性高,成本低廉,配置简单等诸多特性被越来越多地使用。这里简单介绍如何利用Nginx做反向代理并实现Web层的负载均衡效果,来搭建ArcGIS 10.1 for Server集群环境的过程。具体环境如下:
- 192.168.0.247(Windows Server 2008 R2):安装Web Server(IIS 7.5),Web Adaptor(使用默认80端口),ArcGIS 10.1 for Server(使用默认6080端口);
- 192.168.0.244(Windows Server 2003 R2):安装Web Server(IIS 6.0),Web Adaptor(使用默认80端口),ArcGIS 10.1 for Server(使用默认6080端口);
- 192.168.0.69(Windows 7):运行Nginx,监听本地80端口;
其中192.168.0.247和192.168.0.244两台机器安装ArcGIS 10.1 for Server,加入同一个site,组成GIS Server集群,并分别安装Web Server和Web Adaptor,组成Web Server集群;192.168.0.69机器上运行Nginx,监听80端口,充当反向代理服务器,并将接受到的请求负载均衡到247和244两台机器上。这样既利用了企业级Web Server的性能,也一定程度上保证了内网环境的安全。Nginx配置过程如下。
由于是Windows环境,从官网上下载稳定的1.2.3版本,解压到192.168.0.69机器的c:
ginx-1.2.3目录下。因为我们打算让Nginx监听80端口,所以需要将本身占用80端口的IIS默认网站停掉。打开conf目录下的nginx.conf文件,修改如下:
命令行方式输入’start nginx’启动Nginx,然后发送请求到192.168.0.69机器的80端口:
看到请求被转发到了247机器的IIS 7.5上,再次刷新,
请求已经轮询到了244机器的IIS 6.0上。最后通过69机器来访问ArcGIS Server的Services Directory,
此时Nginx会以轮询的方式访问247和244两台机器的Web Adaptor。
这里只是针对ArcGIS for Server集群环境配置做了简单介绍,在实际中可能还需考虑搭建可容错的共享存储环境,DNS服务器的配置,硬件防火墙的配置,Nginx具体参数的配置等因素。