Linux部署OSM本地服务测试环境
概述:
由于项目中有个需求增加了OSM自定义地图功能--->因此需要测试数据提供故此在这里记录下部署过程,需要的可以自己本地部署一套
以本人本地地址已部署完成地址为例介绍下:
http://172.16.50.76:8080/
http://172.16.50.76:8088/?layer=3146198814%7E90#0.77/0/34.5
需要的可以自己本地部署一套;
准备环境
-
安装linux系统(
openmaptiles
开源库只能在linux系统上运行) -
安装docker
-
安装Docker Compose
-
安装git
下面我是通过手动方式进行部署Docker
1、安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
2、设置国内阿里云的镜像源,会比官方的快
(注意:镜像毕竟是镜像,可能会存在很多报错问题,本人因为提前处理很多问题,所以一路很顺,具体问题具体分析)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装Docker Engine-Community
yum install docker-ce docker-ce-cli containerd.io
4、启动docker
systemctl start docker
5、测试是否正确
docker run hello-world
6、查看此时docker是否安装成功,具体版本
[root@localhost ~]# docker version
Client: Docker Engine - CommunityVersion: 26.1.4API version: 1.45Go version: go1.21.11Git commit: 5650f9bBuilt: Wed Jun 5 11:32:04 2024OS/Arch: linux/amd64Context: defaultServer: Docker Engine - CommunityEngine:Version: 26.1.4API version: 1.45 (minimum version 1.24)Go version: go1.21.11Git commit: de5c9cfBuilt: Wed Jun 5 11:31:02 2024OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.6.33GitCommit: d2d58213f83a351ca8f528a95fbd145f5654e957runc:Version: 1.1.12GitCommit: v1.1.12-0-g51d5e94docker-init:Version: 0.19.0GitCommit: de40ad0
安装Docker Compose
1、安装docker compose
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose输出结果如下:
% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 11.6M 100 11.6M 0 0 3026k 0 0:00:03 0:00:03 --:--:-- 7338k
2、设置权限
chmod +x /usr/local/bin/docker-compose
3、测试是否正确
docker-compose --version输入结果如下:
docker-compose version 1.27.4, build 40524192
安装git
Git对应tar包下载地址
https://github.com/git/git/tags
安装过程相对简单,不做过多介绍,自行安装即可;
输入命令
# make prefix=/usr/local/git all doc
报错如下: make: *** No rule to make target `all’. Stop.
是因为目录不正确,cd到git的目录下即可正常编译
发布地图
openmaptiles开源库
-
github地址:https://github.com/openmaptiles/openmaptiles
-
快速入门文档:https://github.com/openmaptiles/openmaptiles/blob/master/QUICKSTART.md
1、拉取openmaptiles代码
git clone https://github.com/openmaptiles/openmaptiles.git
2、拉取完成后,进入目录
cd openmaptiles
3、执行make命令
make
此时再次进行执行make命令成功
本地测试
本地能不能打开这个网址:https://www.wikidata.org/,openmaptiles需要从这个网址下载poi数据,如果不能访问,就按下面的步骤设置,跳过这一步。后续想要poi的数据的,可以自行翻墙解决
如何跳过下载poi数据:
1、使用vi打开quickstart.sh文件
vi quickstart.sh
2、找到 make import-wikidata 行,在 make import-wikidata 命令前输入#号
处理数据
执行下面的快速启动命令
./quickstart.sh
发布矢量瓦片服务
-
启动服务
make start-tileserver
在自己电脑浏览器中输入虚拟机ip地址加端口8080,我虚拟机IP地址是,在浏览器中打开已完成的地址
http://172.16.50.76:8080/
点击 view 按钮,查看效果
自定义地图样式
启动maputnik
make start-maputnik
在自己电脑浏览器中输入虚拟机ip地址加端口8088,我虚拟机服务器的地址是
http://172.16.50.76:8088/?layer=3146198814%7E90#0.77/0/34.5
在刚才启动的TileServer-GL 网页中,点击下图中的TileJSON链接,然后拷贝地址
回到maputnik网页,点击下图框中的按钮Data Sources,把上面的地址粘贴到绿框中,再点击红框中的删除按钮,关闭其它地图。关闭弹出框,就能看到我们发布的地图了
接下来就可以自由奔放的自定义地图样式了