Web地图服务发布及运维方案

本文介绍Web地图服务部署、安全与运维方案。部署包括单台服务器和集群配置,单台需安装软件、拷贝文件,集群要部署Nginx。安全方面涉及防火墙设置和数据安全。运维方案涵盖矢量切片数据增量更新、引擎更新、数据备份及服务器重启等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1 概述:
由于矢量切片的制作和发布过程复杂,地图服务发布阶段直接采取工程数据自动化的方式,将切片数据和对应的工程文件拷贝到目标服务器,从而快速实现WEB地图服务部署和发布。


2Web地图服务发布
2.1单台Web地图服务器
(1)    在web地图服务器中安装jdk-8u201-linux-x64和apache-tomcat-9.0.17,启动tomcat;
(2)    将BrightMapServer工程文件拷贝至/tomcat/webapps文件夹中,并解压;浏览器中访问http://IP:端口(tomcat)/BrightMapServer/,如果出现如下界面说明配置成功;


 
(3)    工程启动后会自动生成/usr/BMServer/BrightMapServerTile文件夹,将提供的切片包(如:SHunder1)拷贝至此,并解压。
(4)    以同样方式将Web地图服务器集群中的其他机器做(1)、(2)、(3)配置。
2.2 Web地图服务集群
(1)    在服务器中部署Nginx-1.14.2;
(2)    在Nginx的安装路径Nginx/conf/中修改Nginx.conf文件,具体修改内容参考如下配置:

worker_processes  2; # 设置为CPU个数的两倍,不可随意设置
events {
    use  epoll;   #epoll是多路复用IO,可以大大提高Nginx的性能
    worker_connections  2048;  单个后台worker process进程的最大并发链接数
      }
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        off;
    keepalive_timeout  65;
    upstream web{    
        server IP1:端口(tomcat);
        server IP2:端口(tomcat);   #Nginx如果和tomcat在同一个局域网中,直接可以虚拟IP+内网端口,不需要对外开放        
    }
    server {
        # listen     80;    
          listen     9181;       #Nginx内网端口,这里可以随意设置
         server_name localhost;     #Nginx所在集群名称
         charset utf-8;
       location / { 
          root html;
          index  index.html index.htm; 
          proxy_pass http://web;
         #proxy_set_header Host $host:9181;     
          proxy_set_header Host $host:1811;    #这里主要为了增加外网方位端口,将内网9181映射至外网1811   访问IP为:http://IP(外网):1811/BrightMapServer/
          proxy_set_header X-Forwarded-For $remote_addr;  
    }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}


(3)    重新启动Nginx服务器;
(4)    浏览器中访问http://IP(外网):1811/BrightMapServer/,如果出现如下界面说明配置成功;


 
2.3 Web地图服务安全
2.3.1 防火墙设置
为了服务器的安全性考虑,需要对防火墙进行配置,将防火墙处于关闭状态,指定开放端口。
(1)针对单台Web地图服务器: BrightMapServer引擎搭载在tomcat上,也就是说要支持tomcat端口的访问。开放的访问端口只用于内网访问,不需要对外,最大化保证服务器的安全性。
开放8080端口:

查看防火墙状态
firewall-cmd –state
关闭防火墙:
systemctl stop firewalld.service
打开防火墙
systemctl start firewalld.service
开启端口
firewall-cmd --permanent --zone=public --add-port=8080/tcp  //8080为tomcat默认端口
重启防火墙
firewall-cmd --reload


(2)针对Nginx服务器:Nginx主要用于集群负载和请求分配,当外网访问进入Nginx后,Nginx将任务分配给BrightMapServer来执行,也就是说Nginx开放的端口不仅要对内也要对外,对内指定开放端口9181,对外将端口9181映射至外网IP(例如:1811)。
开放9181端口:

查看防火墙状态
firewall-cmd –state
关闭防火墙:
systemctl stop firewalld.service
打开防火墙
systemctl start firewalld.service
开启端口
firewall-cmd --permanent --zone=public --add-port=9181/tcp  //9181为tomcat默认端口
重启防火墙
firewall-cmd --reload

2.3.2 数据安全
Web地图服务的矢量切片数据和工程文件都内网服务器,而且该服务器组不提供直接的外网端口,是通过Nginx作为中转映射出去的,最大化的保证了数据的和工程的安全性。
同时,地图数据是做了坐标加密,整体安全性较高。 
3 Web地图服务运维方案
3.1 矢量切片数据增量更新
随着采集地下库的数据逐步增加,需要对矢量切片数据包做更新。将提供最新的地图服务器切片数据包,替换/usr/BMServer/ BrightMapServerTile文件夹下对应的数据包。
3.2 BrightMapServer引擎更新
由于地图服务整体采用的工程拷贝方式,对于服务器引擎更新、服务类型或要素类型有变化时,也是通过直接工程文件拷贝方式进行服务引擎更新,最大的简化运维的难度。具体替换流程见《1.1单台Web地图服务器》部署流程
3.3 数据备份
针对Web地图服务器核心数据是BrightMapServer工程文件和矢量切片文件。
(1)BrightMapServer位于tomcat/webapps文件目录中,通过数据压缩,拷贝至存放目录。
压缩矢量切片包
tar -czvf BrightMapServer.tar.gz BrightMapServer; 
将压缩包移动至存放目录
mv BrightMapServer.tar.gz /usr/data;
(2)矢量切片文件位于/usr/BMServer/BrightMapServerTile文件目录中,而且切片的数据量大、文件多,不便复制、移动、删除等操作。
方式一:可以直接通过修改矢量切片对应名称备份至BrightMapServerTile目录中。 
方式二:通过数据压缩,拷贝至存放目录。
压缩矢量切片包
tar -czvf SHunder1.tar.gz SHunder1; 
将压缩包移动至存放目录
mv SHunder1.tar.gz /usr/data;
3.4 服务器重启

关闭Nginx服务器
/usr/local/Nginx/sbin/Nginx -s stop
关闭tomcat服务器
sh /app/tomcat/bin/shutdown.sh
启动tomcat服务器
/app/tomcat/bin/startup.sh
启动Nginx服务器
/usr/local/Nginx/sbin/Nginx
重新加载Nginx时
/usr/local/Nginx/sbin/Nginx -s reload

 

### 发布地图服务的工具——GIS 地图服务器 #### SuperMap GIS 应用服务器 SuperMap 提供了一种强大的解决方案发布地图服务。在 GIS 服务器上发布 SuperMap 地图服务,可以使地图通过网络被广泛访问[^1]。为了实现这一目标,在发布前需完成一系列准备工作,例如定义地图项目的名称、范围以及坐标系等内容。当地图服务成功发布后,会生成一个唯一 URL,允许用户通过此链接获取并查看地图数据。 #### GeoServer 开源地图服务GeoServer 是一款基于开源技术构建的地图服务器,支持 Web 地图服务 (WMS) 标准,并能生成多种形式的地图输出[^2]。它集成了 OpenLayers 这一免费的地图库,从而简化了地图制作流程。由于其依赖于 GeoTools(Java 的开放源码 GIS 工具包),因此具备高度灵活性和可扩展性,适合希望利用开源技术和标准化协议共享地理空间信息的企业和个人开发者。 #### 超图云 GIS 应用服务器平台 作为专业的 GIS 技术服务平台之一,超图云提供了全面的技术支持和服务保障措施,包括但不限于全天候在线帮助、远程指导等多种方式解决用户的实际问题[^3]。无论是在项目初期的需求调研阶段还是后期运维过程中遇到的各种挑战,都可以得到来自官方团队的专业建议和支持。 #### ArcGIS 动态地图服务性能优化 对于追求高效渲染效果的应用场景来说,ArcGIS 提供了针对动态地图服务 Query 性能测试的方法论和技术手段[^4]。通过对这些核心功能模块进行细致入微地调整与改进,最终达到提升整体用户体验的目的。 ```python import requests def get_map_service(url): response = requests.get(url) if response.status_code == 200: return "Map service is accessible." else: return f"Failed to access map service with status code {response.status_code}." url = "http://example.com/mapservice" print(get_map_service(url)) ``` 上述 Python 示例展示了如何验证某个特定地址下的地图服务是否可用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值