Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
software:linux_server:tile_map_server_22.04.4 [2024/08/04 23:06] – [Настройка Apache] vladpolskiy | software:linux_server:tile_map_server_22.04.4 [2025/02/01 09:47] (текущий) – внешнее изменение 127.0.0.1 |
---|
* **[[hardware:ddr4_ecc_reg_64gb|256GB DDR4 3200MHz DIMM ECC Reg Micron]]** | * **[[hardware:ddr4_ecc_reg_64gb|256GB DDR4 3200MHz DIMM ECC Reg Micron]]** |
* **[[software:linux_server:ubuntu_server|ОС Ubuntu Server 24.04 LTS]]** | * **[[software:linux_server:ubuntu_server|ОС Ubuntu Server 24.04 LTS]]** |
<color #7092be>**Все ниже написанное относиться к Ubuntu Server 24.04 (Noble Numbat) и протестированы в августе 2024 года.**</color> | <fc #7092be>**Все ниже написанное относиться к Ubuntu Server 24.04 (Noble Numbat) и протестированы в августе 2024 года.**</fc> |
| |
=====Общая теория===== | =====Общая теория===== |
<color #7092be>**Tile Server OSM**</color> представляет собой набор программ и библиотек, которые работают вместе для создания тайлового (плиточного) сервера. Он состоит из 5 основных компонентов: | <fc #7092be>**Tile Server OSM**</fc> представляет собой набор программ и библиотек, которые работают вместе для создания тайлового (плиточного) сервера. Он состоит из 5 основных компонентов: |
* **mod_tile** | * **mod_tile** |
* **renderd** | * **renderd** |
* **postgresql/postgis** | * **postgresql/postgis** |
Postgresql/postgis - базы данных. Mod_tile — это модуль apache, который обслуживает кэшированные тайлы и решает, какие тайлы нуждаются в повторном рендеринге — либо потому, что они еще не кэшированы, либо потому, что они устарели. Mapnik — это программная библиотека, которая осуществляет реальный рендеринг с использованием открытого рендеринга.\\ | Postgresql/postgis - базы данных. Mod_tile — это модуль apache, который обслуживает кэшированные тайлы и решает, какие тайлы нуждаются в повторном рендеринге — либо потому, что они еще не кэшированы, либо потому, что они устарели. Mapnik — это программная библиотека, которая осуществляет реальный рендеринг с использованием открытого рендеринга.\\ |
<color #7092be>**Предполагается, что вы запускаете все от пользователя без регистрации root через «sudo». Имя пользователя без root, повторяемое по умолчанию, — «alisa». Если вы указываете иного пользователя, то вам необходимо будет заменить во всех командах на свое имя и добавить его в группу пользователей, которые могут использовать sudo для получения root-прав. Из вашей обычной учетной записи пользователя без регистрации root.**</color> | <fc #7092be>**Предполагается, что вы запускаете все от пользователя без регистрации root через «sudo». Имя пользователя без root, повторяемое по умолчанию, — «alisa». Если вы указываете иного пользователя, то вам необходимо будет заменить во всех командах на свое имя и добавить его в группу пользователей, которые могут использовать sudo для получения root-прав. Из вашей обычной учетной записи пользователя без регистрации root.**</fc> |
=====Обновление программного обеспечения===== | =====Обновление программного обеспечения===== |
Устанавливаем и обновляем Ubuntu | Устанавливаем и обновляем Ubuntu |
\\ | \\ |
Командные опции: | Командные опции: |
* <color #22b14c>-d gis</color> | * <fc #22b14c>-d gis</fc> |
* База данных, с которой нужно работать (раньше gis была по умолчанию, теперь нужно указать). | * База данных, с которой нужно работать (раньше gis была по умолчанию, теперь нужно указать). |
* <color #22b14c>--create</color> | * <fc #22b14c>--create</fc> |
* Загружает данные в пустую базу данных, а не пытается добавить их в существующую (иначе --append). | * Загружает данные в пустую базу данных, а не пытается добавить их в существующую (иначе --append). |
* <color #22b14c>--slim</color> | * <fc #22b14c>--slim</fc> |
* osm2pgsql может использовать разные макеты таблиц; «тонкие» таблицы работают для рендеринга. | * osm2pgsql может использовать разные макеты таблиц; «тонкие» таблицы работают для рендеринга. |
* <color #22b14c>-G</color> | * <fc #22b14c>-G</fc> |
* Определяет, как обрабатываются мультиполигоны. | * Определяет, как обрабатываются мультиполигоны. |
* <color #22b14c>--hstore</color> | * <fc #22b14c>--hstore</fc> |
* Позволяет тегам, для которых нет явных столбцов базы данных, использоваться для рендеринга. | * Позволяет тегам, для которых нет явных столбцов базы данных, использоваться для рендеринга. |
* <color #22b14c>--tag-transform-script</color> | * <fc #22b14c>--tag-transform-script</fc> |
* Определяет сценарий lua, используемый для обработки тегов. Это простой способ обработки тегов OSM до того, как их обработает сам стиль, что значительно упрощает логику стиля. | * Определяет сценарий lua, используемый для обработки тегов. Это простой способ обработки тегов OSM до того, как их обработает сам стиль, что значительно упрощает логику стиля. |
* <color #22b14c>-C 4000</color> | * <fc #22b14c>-C 4000</fc> |
* Выделено 4,0 Гб памяти osm2pgsql для процесса импорта. Если у вас меньше памяти, вы можете попробовать меньшее число, а если процесс импорта завершится из-за нехватки памяти, вам нужно будет попробовать меньшее число или меньший размер карты OSM. | * Выделено 4,0 Гб памяти osm2pgsql для процесса импорта. Если у вас меньше памяти, вы можете попробовать меньшее число, а если процесс импорта завершится из-за нехватки памяти, вам нужно будет попробовать меньшее число или меньший размер карты OSM. |
* <color #22b14c>--number-processes 2</color> | * <fc #22b14c>--number-processes 2</fc> |
* Используйте 2 ЦП. Если у вас есть больше доступных ядер, вы можете использовать больше. | * Используйте 2 ЦП. Если у вас есть больше доступных ядер, вы можете использовать больше. |
* <color #22b14c>-S</color> | * <fc #22b14c>-S</fc> |
* Создайте столбцы базы данных в этом файле (на самом деле они не изменились по сравнению с «openstreetmap-carto») | * Создайте столбцы базы данных в этом файле (на самом деле они не изменились по сравнению с «openstreetmap-carto») |
* <color #22b14c>~/src/openstreetmap-carto/openstreetmap-carto.style ~/data/russia-latest.osm.pbf</color> | * <fc #22b14c>~/src/openstreetmap-carto/openstreetmap-carto.style ~/data/russia-latest.osm.pbf</fc> |
* Место сохранения и файл данных для загрузки. | * Место сохранения и файл данных для загрузки. |
\\ | \\ |
</code> | </code> |
{{:software:linux_server:tile_map_server_24.04._57.png?|}} | {{:software:linux_server:tile_map_server_24.04._57.png?|}} |
* нажимаем последовательно **<color #22b14c>CTRL+0</color>** , **<color #22b14c>ENTER</color>** для сохранения и **<color #22b14c>CTRL+X</color>** для выхода из редактора | * нажимаем последовательно **<fc #22b14c>CTRL+0</fc>** , **<fc #22b14c>ENTER</fc>** для сохранения и **<fc #22b14c>CTRL+X</fc>** для выхода из редактора |
| |
| |
| |
| |
* вставляем строку **<color #22b14c>LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so</color>** в тело файла (в нашем случае это пустой файл) | * вставляем строку **<fc #22b14c>LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so</fc>** в тело файла (в нашем случае это пустой файл) |
* нажимаем последовательно **<color #22b14c>CTRL+0</color>** , **<color #22b14c>ENTER</color>** для сохранения и **<color #22b14c>CTRL+X</color>** для выхода из редактора | * нажимаем последовательно **<fc #22b14c>CTRL+0</fc>** , **<fc #22b14c>ENTER</fc>** для сохранения и **<fc #22b14c>CTRL+X</fc>** для выхода из редактора |
{{:software:linux_server:tile_map_server_24.04._61.png?|}} | {{:software:linux_server:tile_map_server_24.04._61.png?|}} |
| |
</code> | </code> |
{{:software:linux_server:tile_map_server_24.04._64.png?|}} | {{:software:linux_server:tile_map_server_24.04._64.png?|}} |
* вставляем следующин строки в тело файла между строками <color #00a2e8>«ServerAdmin»</color> и <color #00a2e8>«DocumentRoot»</color> | * вставляем следующин строки в тело файла между строками <fc #00a2e8>«ServerAdmin»</fc> и <fc #00a2e8>«DocumentRoot»</fc> |
<code> | <code> |
LoadTileConfigFile /etc/renderd.conf | LoadTileConfigFile /etc/renderd.conf |
ModTileMissingRequestTimeout 30 | ModTileMissingRequestTimeout 30 |
</code> | </code> |
* нажимаем последовательно **<color #22b14c>CTRL+0</color>** , **<color #22b14c>ENTER</color>** для сохранения и **<color #22b14c>CTRL+X</color>** для выхода из редактора | * нажимаем последовательно **<fc #22b14c>CTRL+0</fc>** , **<fc #22b14c>ENTER</fc>** для сохранения и **<fc #22b14c>CTRL+X</fc>** для выхода из редактора |
{{:software:linux_server:tile_map_server_24.04._65.png?|}} | {{:software:linux_server:tile_map_server_24.04._65.png?|}} |
\\ | \\ |
</code> | </code> |
</details> | </details> |
* <color #ed1c24>Дальше не продолжаем если не дождались загрузки данных в базу и Создание индексов</color> | * <fc #ed1c24>Дальше не продолжаем если не дождались загрузки данных в базу и Создание индексов</fc> |
| |
=====Запуск рендера в первый раз===== | =====Запуск рендера в первый раз===== |
{{:software:nas:osm_420_87.png?650|}} | {{:software:nas:osm_420_87.png?650|}} |
| |
* Если все это работает, нажмите <color #00a2e8>control-c</color>, чтобы завершить процесс рендеринга переднего плана. | * Если все это работает, нажмите <fc #00a2e8>control-c</fc>, чтобы завершить процесс рендеринга переднего плана. |
* <color #ed1c24>при возникновении необходимости остановить renderd</color> | * <fc #ed1c24>при возникновении необходимости остановить renderd</fc> |
<code> | <code> |
systemctl stop renderd | systemctl stop renderd |
* на Synology DS720+ такого шока нет и все происходит быстрее в 3-4 раза | * на Synology DS720+ такого шока нет и все происходит быстрее в 3-4 раза |
{{:software:nas:osm_420_86.png?650|}} | {{:software:nas:osm_420_86.png?650|}} |
* <color #00a2e8>Не знаю почему, но при наличии папки renderd и прав на неё, система ругается на её отсутствие (проверено при 3х установках на Synology Nas. Повторно выполним эти команды...</color> | * <fc #00a2e8>Не знаю почему, но при наличии папки renderd и прав на неё, система ругается на её отсутствие (проверено при 3х установках на Synology Nas. Повторно выполним эти команды...</fc> |
* создаем папку renderd | * создаем папку renderd |
<code> | <code> |
| |
| |
* нажимаем **<color #22b14c>i</color>** и меняем в строке RUNASUSER **<color #22b14c>renderaccount</color>** на ваше имя пользователя (в нашем случае это alisa) | * нажимаем **<fc #22b14c>i</fc>** и меняем в строке RUNASUSER **<fc #22b14c>renderaccount</fc>** на ваше имя пользователя (в нашем случае это alisa) |
* нажимаем последовательно **<color #22b14c>esc</color>** , **<color #22b14c>shift + :</color>** , **<color #22b14c>w</color>** , **<color #22b14c>q</color>** , **<color #22b14c>!</color>** для сохранения и выхода из редактора | * нажимаем последовательно **<fc #22b14c>esc</fc>** , **<fc #22b14c>shift + :</fc>** , **<fc #22b14c>w</fc>** , **<fc #22b14c>q</fc>** , **<fc #22b14c>!</fc>** для сохранения и выхода из редактора |
{{:software:nas:osm_420_91.png|}} | {{:software:nas:osm_420_91.png|}} |
* нажимаем **<color #22b14c>enter</color>** | * нажимаем **<fc #22b14c>enter</fc>** |
* скопируем это в системный каталог | * скопируем это в системный каталог |
<code> | <code> |
\\ | \\ |
https://github.com/openstreetmap/mod_tile/blob/master/docs/build/building_on_ubuntu.md | https://github.com/openstreetmap/mod_tile/blob/master/docs/build/building_on_ubuntu.md |
| \\ |
| https://switch2osm.org/serving-tiles/manually-building-a-tile-server-ubuntu-24-04-lts/ |
| \\ |
| https://www.linuxbabe.com/linux-server/osm-openstreetmap-tile-server-ubuntu-22-04 |
| \\ |
| https://ircama.github.io/osm-carto-tutorials/kosmtik-ubuntu-setup/ |
| \\ |
| https://www.linuxbabe.com/debian/openstreetmap-osm-tile-server-debian-12-bookworm |
| \\ |
| https://github.com/openstreetmap/mod_tile |
| \\ |
| |