开源地理编码 OpenStreetMap 在Ubuntu 22.04上部署 Nominatim 地图服务器
创始人
2025-01-20 04:32:59
0

1.Ubuntu 22.04上部署 Nominatim 地图服务器

2安装所需的软件

2.1运行以下命令,确保所有软件包都是最新的

sudo apt update -qq 

2.2安装所有需要的软件包

sudo apt install -y build-essential cmake g++ libboost-dev libboost-system-dev \                 libboost-filesystem-dev libexpat1-dev zlib1g-dev \                 libbz2-dev libpq-dev liblua5.3-dev lua5.3 lua-dkjson \                 nlohmann-json3-dev postgresql-14-postgis-3 \                 postgresql-contrib-14 postgresql-14-postgis-3-scripts \                 php-cli php-pgsql php-intl libicu-dev python3-dotenv \                 python3-psycopg2 python3-psutil python3-jinja2 \                 python3-icu python3-datrie python3-sqlalchemy \                 python3-asyncpg python3-yaml git 

3.专用用户帐户操作

3.1创建用户和目录运行

sudo useradd -d /srv/nominatim -s /bin/bash -m nominatim 

3.2使用以下选项切换到用户

sudo -u nominatim bash 

3.3导出用户名和主目录

export USERNAME=nominatim export USERHOME=/srv/nominatim 

3.4验证用户账号有权限读取主目录

chmod a+x $USERHOME 

4.设置PostgreSQL

4.1调整postgresql配置,该配置位于/etc/postgresql/14/main/postgresql.conf

在这里插入图片描述

4.2更新此配置文件后,重新启动postgresql服务

sudo systemctl restart postgresql 

4.3最后,我们需要添加两个postgres用户:一个用于执行导入的用户,另一个用于应该以只读方式访问数据库的web服务器

sudo -u postgres createuser -s $USERNAME sudo -u postgres createuser www-data 

5.下载和安装nominatim

5.1进入到设置的USERHOME目录

cd $USERHOME 

5.2进行安装

git clone --recursive https://github.com/openstreetmap/Nominatim.git cd Nominatim wget -O data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz mkdir $USERHOME/build cd $USERHOME/build cmake $USERHOME/Nominatim make sudo make install 

6.导入数据库

6.1 进到~/nominatim/Nominatim/data目录下执行以下命令 这里以中国的数据为例

wget http://download.geofabrik.de/asia/china-latest.osm.pbf 

6.2 下载完成以后,执行(这个过程可能需要几个小时)

nominatim import --osm-file china-latest.osm.pbf 

6.3导入失败时,再次导入时记得先删除数据库再导入

dropdb nominatim 

6.4然后等待数据库导入完成后执行

nominatim admin --check-database 

6.5检查数据库都成功完成,可能会报没有index没有完成,然后根据提示执行

nominatim index 

7.部署服务器

7.1安装apache2

sudo apt install -y apache2 libapache2-mod-php 

7.2创建一个网站目录

mkdir $USERHOME/nominatim-project 

7.3数据库完成后会在data目录下自动生成一个website目录,将website所有文件复制到/srv/nominatim-project/

在这里插入图片描述

8.修改数据库端口(可选项)

8.1 postgresql配置/etc/postgresql/14/main/postgresql.conf

请添加图片描述

原端口5432 新端口 15432

8.2 nominatim配置/usr/local/etc/noimnatim/env.defaults

在这里插入图片描述

pgsql:后加上修改端口 port=15432;

8.3刷新与重启

nominatim refresh --website  sudo systemctl restart apache2 

各国 OpenStreetMap 数据
OpenStreetMap 数据

相关内容

热门资讯

揭露一下!决战十三水作弊码,衢... 揭露一下!决战十三水作弊码,衢州都莱辅助器免费,一直真的有挂(哔哩哔哩)1、每一步都需要思考,不同水...
有挂一下!聚财平台辅助,浙江宝... 有挂一下!聚财平台辅助,浙江宝宝游戏辅助软件,真是真的有挂(哔哩哔哩);1、完成聚财平台辅助辅助器v...
解谜一下!蜀山四川小程序辅助插... 解谜一下!蜀山四川小程序辅助插件,微友联盟辅助,切实存在有挂(哔哩哔哩)1)蜀山四川小程序辅助插件辅...
必备一下!小松宿松游戏辅助,盛... 必备一下!小松宿松游戏辅助,盛世辅助器,果然是有挂(哔哩哔哩)1、许多玩家不知道小松宿松游戏辅助辅助...
关于一下!都莱软件安装辅助,广... 关于一下!都莱软件安装辅助,广东雀神挂件怎么样,竟然是真的有挂(哔哩哔哩)1)广东雀神挂件怎么样免费...
总结一下!福建微乐小程序修改器... 总结一下!福建微乐小程序修改器,微友辅助神器下载,竟然存在有挂(哔哩哔哩)福建微乐小程序修改器是不是...
揭露一下!多乐跑胡子辅助,潮汕... 揭露一下!多乐跑胡子辅助,潮汕木虱有辅助挂吗,一直真的有挂(哔哩哔哩)一、潮汕木虱有辅助挂吗可以开透...
推荐一下!微乐小程序辅助收费,... 推荐一下!微乐小程序辅助收费,创思维辅助器,都是存在有挂(哔哩哔哩)所有人都在同一条线上,像星星一样...
普及一下!逗娱碰胡辅助器,潮汕... 普及一下!逗娱碰胡辅助器,潮汕掌手娱辅助器,本来真的有挂(哔哩哔哩)1、下载好逗娱碰胡辅助器正确养号...
教你一下!老友辅助器,邯郸胡乐... 教你一下!老友辅助器,邯郸胡乐修改器,好像有挂(哔哩哔哩)1、上手简单,内置详细流程视频教学,新手小...