Ubuntu 22.04搭建OpenStreeMap地址解析服务(保姆级教程)

1.数据准备

1.1.全球数据

下载地址:https://planet.openstreetmap.org/

1.2.特定区域的数据

下载地址:Geofabrik Download Server

2.安装必要的软件包

2.1.更新系统软件包

sudo apt update

sudo apt upgrade

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.配置postgresql

3.1. 切换到 postgres 用户

在 Linux 系统中,默认安装 PostgreSQL 后会创建一个名为 postgres 的系统用户,你可以使用以下命令切换到该用户:

sudo su - postgres

执行此命令后,你将进入 postgres 用户的环境,命令行提示符通常会改变以表明当前用户身份。

3.2. 进入 PostgreSQL 交互环境

在 postgres 用户环境下,使用以下命令进入 PostgreSQL 的交互式 shell(psql):

psql

此时,你会看到类似 postgres=# 的提示符,表明已成功进入 PostgreSQL 数据库管理系统。

3.3. 修改密码

在 psql 环境中,使用 ALTER USER 命令来修改 postgres 用户的密码。例如,要将密码设置为 newpassword(请将 newpassword 替换为你实际想要设置的强密码),执行以下命令:

ALTER USER postgres WITH PASSWORD 'newpassword';

执行完上述 SQL 语句后,如果没有报错,说明密码修改成功。

3.4. 退出 PostgreSQL 交互环境和 postgres 用户

修改完密码后,输入以下命令退出 psql 交互环境:

\q

然后输入以下命令退出 postgres 用户,返回到原来的用户环境:

exit

3.5.增加www-data账户

sudo -u postgres createuser www-data 

如果这步不执行,后面导入数据的时候会提示www-data账户不存在,详情参考5.2.2

3.6.修改postgresql.conf配置文件

默认是在:/etc/postgresql/14/main目录下:

sudo vim /etc/postgresql/14/main/postgresql.conf

按下面修改这些配置项即可。 

shared_buffers = 2GB                            
work_mem = 50MB                               
maintenance_work_mem = 10GB                
fsync = off                                 
synchronous_commit= off                    
full_page_writes = off                         
checkpoint_timeout = 10min                    
checkpoint_completion_target = 0.9              
effective_cache_size = 24GB              

4.下载并编译Nominatim

4.1.下载Nominatim

下载地址:https://github.com/osm-search/Nominatim

找一个自己喜欢的版本下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鱼>

一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值