Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
software:linux_server:tile_map_server [2024/08/03 22:23] – [Введение] vladpolskiy | software:linux_server:tile_map_server [2025/03/31 18:14] (текущий) – [Упомянутые команды:] vladpolskiy |
---|
Справочную информацию о методе истечения срока действия тайлов можно найти в [[https://wiki.openstreetmap.org/wiki/Tile_expire_methods|механизме истечения срока действия тайлов]]. | Справочную информацию о методе истечения срока действия тайлов можно найти в [[https://wiki.openstreetmap.org/wiki/Tile_expire_methods|механизме истечения срока действия тайлов]]. |
\\ | \\ |
| ====Общий процесс==== |
| Информация о предыдущих периодах частично взята с [[https://switch2osm.org/serving-tiles/|switch2osm.org - Serving Tiles]](( см. главу «The toolchain»)). |
| |
| |
| {{:software:linux_server:tile_map_server.png|}} |
| |
| Дополнительное описание процесса рендеринга OpenStreetMap можно найти в разделе [[https://ircama.github.io/osm-carto-tutorials/osm-rendering-process|Архитектура OSM]]. |
| |
| Следующую пошаговую процедуру можно использовать для установки и настройки всего необходимого программного обеспечения для работы вашего собственного сервера тайлов OpenStreetMap на Ubuntu.(( |
| При подготовке настоящего документа использовались следующие источники: |
| |
| * [[https://switch2osm.org/serving-tiles/manually-building-a-tile-server-20-04-lts/|switch2osm.org - Ручная сборка сервера плиток (20.04 LTS)]] |
| * [[https://wiki.openstreetmap.org/wiki/Mod_tile/Setup_of_your_own_tile_server|OSM Wiki - Mod tile/Настройка собственного сервера плиток]] |
| * [[https://www.linuxbabe.com/linux-server/openstreetmap-tile-server-ubuntu-16-04|Создайте свой собственный сервер тайлов OpenStreetMap на Ubuntu 16.04]] |
| * [[https://wiki.debian.org/OSM/tileserver/jessie|OSM сервер плитки jessie]] |
| )) |
| |
| Цель этой процедуры — по возможности использовать [[https://en.wikipedia.org/wiki/Ubuntu_(operating_system)#Package_classification_and_support|пакеты Ubuntu]] и официальные [[https://developer.ubuntu.com/en/publish/other-forms-of-submitting-apps/ppa/|PPA]]. |
| |
| Мы рассматриваем возможность использования [[https://en.wikipedia.org/wiki/Ubuntu_(operating_system)|Ubuntu]] 20.04.2 LTS [[https://en.wikipedia.org/wiki/Ubuntu_version_history#Ubuntu_20.04_LTS_(Focal_Fossa)|Focal Fossa]] или 18.04 LTS [[https://en.wikipedia.org/wiki/Ubuntu_version_history#Ubuntu_18.04_LTS_(Bionic_Beaver)|Bionic Beaver]], рекомендуемой версии операционной системы. |
| |
| Эта процедура обновлена до версии OpenStreetMap Carto, доступной на момент написания. Чтобы получить правильную процедуру установки, следует проверить [[https://github.com/gravitystorm/openstreetmap-carto/blame/master/INSTALL.md|историю INSTALL, учитывая, что разработчики]] [[https://github.com/gravitystorm/openstreetmap-carto/blob/master/INSTALL.md|OpenStreetMap Carto]] используют ее для обновления. Проверьте также [[https://github.com/gravitystorm/openstreetmap-carto/blame/master/README.md|журнал изменений README]]. |
=====Общая настройка для Ubuntu===== | =====Общая настройка для Ubuntu===== |
| |
{{:software:linux_server:osm_110.png|}} | {{:software:linux_server:osm_110.png|}} |
\\ | \\ |
<color #ed1c24>E: Package 'ttf-unifont' has no installation candidate</color> | <fc #ed1c24>E: Package 'ttf-unifont' has no installation candidate</fc> |
\\ | \\ |
пакет 'ttf-unifont' установим позже (сейчас не критично) | пакет 'ttf-unifont' установим позже (сейчас не критично) |
* [[https://github.com/mapnik/node-mapnik/releases|node-mapnik]], | * [[https://github.com/mapnik/node-mapnik/releases|node-mapnik]], |
* [[https://github.com/mapnik/python-mapnik/releases|python-mapnik]]. | * [[https://github.com/mapnik/python-mapnik/releases|python-mapnik]]. |
Версия 3.0.19 — минимальная рекомендуемая на данный момент.При использовании вышеупомянутого PPA эта версия будет установлена вместо версии по умолчанию, доступной в Ubuntu. | Версия 3.0.19 — минимальная рекомендуемая на данный момент.(([[https://github.com/openstreetmap/chef/issues/155|Развертывание новой версии Mapnik (3.0.19)]])) При использовании вышеупомянутого PPA эта версия будет установлена вместо версии по умолчанию, доступной в Ubuntu. |
| |
После установки Mapnik из пакета перейдите к [[https://ircama.github.io/osm-carto-tutorials/tile-server-ubuntu/#verify-that-mapnik-has-been-correctly-installed|проверке установки Mapnik]]. | После установки Mapnik из пакета перейдите к [[https://ircama.github.io/osm-carto-tutorials/tile-server-ubuntu/#verify-that-mapnik-has-been-correctly-installed|проверке установки Mapnik]]. |
</code> | </code> |
====Собрать библиотеку Mapnik из исходников==== | ====Собрать библиотеку Mapnik из исходников==== |
На момент написания статьи Mapnik 3.0 является текущей стабильной версией и должна использоваться. Ветка для последней версии Mapnik из серии 3.0.x — v3.0.x. | На момент написания статьи Mapnik 3.0 является текущей стабильной версией и должна использоваться. Ветка для последней версии Mapnik из серии 3.0.x — v3.0.x.(([[https://github.com/mapnik/mapnik-support/issues/104#issuecomment-364054698|talaj комментарий 8 февр. ↩]])) |
| |
Загрузите последние исходники Mapnik: | Загрузите последние исходники Mapnik: |
Настройки PostgreSQL, принятые OpenStreetMap, можно найти в [[https://github.com/openstreetmap/chef/blob/master/cookbooks/postgresql/attributes/default.rb|книге PostgreSQL Chef Cookbook]] : специальные настройки PostgreSQL для серверов тайлов OpenStreetMap описаны в соответствующей [[https://github.com/openstreetmap/chef/blob/master/roles/tile.rb#L38-L45|конфигурации Tileserver Chef]] . | Настройки PostgreSQL, принятые OpenStreetMap, можно найти в [[https://github.com/openstreetmap/chef/blob/master/cookbooks/postgresql/attributes/default.rb|книге PostgreSQL Chef Cookbook]] : специальные настройки PostgreSQL для серверов тайлов OpenStreetMap описаны в соответствующей [[https://github.com/openstreetmap/chef/blob/master/roles/tile.rb#L38-L45|конфигурации Tileserver Chef]] . |
| |
Для установки dev&test на системе с 16 ГБ ОЗУ предлагаются следующие настройки:12: | Для установки dev&test на системе с 16 ГБ ОЗУ предлагаются следующие настройки(([[Самый надежный способ импорта больших наборов данных с помощью osm2psq|Самый надежный способ импорта больших наборов данных с помощью osm2psq]])): |
<code> | <code> |
shared_buffers = 2GB | shared_buffers = 2GB |
sudo /etc/init.d/postgresql start | sudo /etc/init.d/postgresql start |
</code> | </code> |
Вы можете получить ошибку и вам нужно увеличить размер разделяемой памяти. Отредактируйте **/etc/sysctl.d/30-postgresql-shm.conf** и запустите //sudo sysctl -p /etc/sysctl.d/30-postgresql-shm.conf//. Параметр типа //kernel.shmmax=17179869184и kernel.shmall=4194304// может быть подходящим для размера сегмента 16 ГБ. | Вы можете получить ошибку и вам нужно увеличить размер разделяемой памяти. Отредактируйте **/etc/sysctl.d/30-postgresql-shm.conf** и запустите //sudo sysctl -p /etc/sysctl.d/30-postgresql-shm.conf//. Параметр типа //kernel.shmmax=17179869184и kernel.shmall=4194304// может быть подходящим для размера сегмента 16 ГБ.(([[http://www.paulnorman.ca/blog/2011/11/loading-a-pgsnapshot-schema-with-a-planet-take-2/|Информация из блога Пола Нормана.]])) |
| |
Для управления и поддержания конфигурации серверов, работающих под управлением OpenStreetMap, используется инструмент управления конфигурацией [[https://www.chef.io/|Chef]] . | Для управления и поддержания конфигурации серверов, работающих под управлением OpenStreetMap, используется инструмент управления конфигурацией [[https://www.chef.io/|Chef]] . |
Создайте частичные индексы для ускорения запросов, включенных в //project.mml// , и предоставьте доступ ко всем таблицам //ГИС// , чтобы избежать ошибок рендеринга при доступе к таблицам с пользователем //tileserver// . | Создайте частичные индексы для ускорения запросов, включенных в //project.mml// , и предоставьте доступ ко всем таблицам //ГИС// , чтобы избежать ошибок рендеринга при доступе к таблицам с пользователем //tileserver// . |
| |
* Добавьте частичные геометрические индексы, указанные //openstreetmap-carto// для обеспечения эффективного улучшения запросов: | * Добавьте частичные геометрические индексы, указанные //openstreetmap-carto//((.travis.yml [[https://github.com/gravitystorm/openstreetmap-carto/blob/master/.travis.yml#L43|применяет]] пользовательские индексы через psql -1Xq -v ON_ERROR_STOP=1 -d gis -f indexes.sql. Обратите внимание, что indexes.sql должен поддерживаться в актуальном состоянии с помощью indexes.py , и это также [[https://github.com/gravitystorm/openstreetmap-carto/blob/master/.travis.yml#L37|проверяется]] .travis.yml)) для обеспечения эффективного улучшения запросов: |
<code> | <code> |
cd ~/src | cd ~/src |
* sudo apt install update-manager-core — устанавливает основной пакет менеджера обновлений, если он еще не установлен. | * sudo apt install update-manager-core — устанавливает основной пакет менеджера обновлений, если он еще не установлен. |
* sudo do-release-upgrade — запускает процесс обновления выпуска Ubuntu. | * sudo do-release-upgrade — запускает процесс обновления выпуска Ubuntu. |
| =====Дополнения и Файлы===== |
| <html> |
| <iframe width="100%" height=700px src="./repo/ubuntu_releases/" frameborder="0" allowfullscreen></iframe> |
| </html> |
| |
| |
| |
| |