Routing na serwerze
Z UMP
(Różnice między wersjami)
(→Podniesienie wersji serwerów OSRM) |
(→Konfiguracja serwerów OSRM) |
||
Linia 44: | Linia 44: | ||
osrm-build/OSRM-pieszo/profile.lua | osrm-build/OSRM-pieszo/profile.lua | ||
osrm-build/OSRM-rower/profile.lua | osrm-build/OSRM-rower/profile.lua | ||
- | |||
== Codzienne odświeżanie danych == | == Codzienne odświeżanie danych == |
Wersja z dnia 19:25, 25 gru 2012
Spis treści |
Konfiguracja serwerów OSRM na potrzeby projektu UMP
Na potrzeby projektu UMP skonfigurowane zostały trzy serwery wyznaczające trasy i prezentujące je na www.
Każdy z nich obsługuje inny tryb routingu: samochodowy, rowerowy i pieszy.
Poniższa strona opisuje szczegóły techniczne instalacji.
Kod i dokumentacja projektu Open Source Routing Machine (OSRM) http://project-osrm.org/
Konfiguracja serwerów OSRM
- Serwer: osrm1.ump.waw.pl - alias do gen1.ump.net.pl
- URL
- samochodowy: osrm1.ump.waw.pl:/OSRMauto
- rowerowy: osrm1.ump.waw.pl:/OSRMrower
- pieszy: osrm1.ump.waw.pl:/OSRMpieszy
- konfiguracja proxy apache'a
ProxyPass /OSRMrower http://localhost:5001 ProxyPass /OSRMpieszy http://localhost:5002 ProxyPass /OSRMauto http://localhost:5000
- katalog roboczy instalacji:
umpsrv@osrm1.ump.waw.pl~/osrm-build
- katalogi robocze trzech routerków:
osrm-build/OSRM-auto osrm-build/OSRM-pieszo osrm-build/OSRM-rower
- pliki konfiguracyjne serwisów:
osrm-build/OSRM-auto/server.ini osrm-build/OSRM-pieszo/server.ini osrm-build/OSRM-rower/server.ini
- przykładowa zawartość server.ini
$ cat osrm-build/OSRM-auto/server.ini Threads = 8 IP = 0.0.0.0 Port = 5000 hsgrData=/stuff/umpsrv/osrm-build/OSRM-auto/A_CUR/UMP.osrm.hsgr nodesData=/stuff/umpsrv/osrm-build/OSRM-auto/A_CUR/UMP.osrm.nodes edgesData=/stuff/umpsrv/osrm-build/OSRM-auto/A_CUR/UMP.osrm.edges ramIndex=/stuff/umpsrv/osrm-build/OSRM-auto/A_CUR/UMP.osrm.ramIndex fileIndex=/stuff/umpsrv/osrm-build/OSRM-auto/A_CUR/UMP.osrm.fileIndex namesData=/stuff/umpsrv/osrm-build/OSRM-auto/A_CUR/UMP.osrm.names timestamp=/stuff/umpsrv/osrm-build/OSRM-auto/A_CUR/UMP.osrm.timestamp
- pliki zawierające skrypty LUA definiujące parametry routingu. Zostały nieznacznie zmienione względem oryginałów https://github.com/DennisOSRM/Project-OSRM/tree/master/profiles
osrm-build/OSRM-auto/profile.lua osrm-build/OSRM-pieszo/profile.lua osrm-build/OSRM-rower/profile.lua
Codzienne odświeżanie danych
Skrypt w cronie robi całą robotę:
umpsrv@osrm1.ump.waw.pl~/osrm-build/bin/check_and_update_osrm.sh cron
Oczekuje danych ( UMPxxxx.osm i flagi READY ) w katalogu:
umpsrv@osrm1.ump.waw.pl~/osrm-build/OSRM-INPUT
Logi z działania:
umpsrv@osrm1.ump.waw.pl~/osrm-build/bin/check_update.log umpsrv@osrm1.ump.waw.pl~/osrm-build/OSRM-auto/osrm-update.log umpsrv@osrm1.ump.waw.pl~/osrm-build/OSRM-pieszo/osrm-update.log umpsrv@osrm1.ump.waw.pl~/osrm-build/OSRM-rower/osrm-update.log
Jak uruchomić ręcznie/sprawdzić czy działa
Na serwerze powinny działać trzy procesy
umpsrv@nautilus4p:~/osrm-build$ ps -ef |grep osrm |grep -v grep umpsrv 13588 1 0 07:11 ? 00:00:11 /stuff/umpsrv/osrm-build/OSRM-auto/osrm-routed-auto umpsrv 26299 1 0 08:43 ? 00:00:01 /stuff/umpsrv/osrm-build/OSRM-rower/osrm-routed-rower umpsrv 30372 1 0 Dec23 ? 00:00:31 /stuff/umpsrv/osrm-build/OSRM-pieszo/osrm-routed-piesz
Uruchmienie, zatrzymanie skryptami:
osrm-build/OSRM-auto/osrm-routed-auto.sh [start|stop|restart] osrm-build/OSRM-pieszo/osrm-routed-pieszo.sh osrm-build/OSRM-rower/osrm-routed-rower.sh
Sprawdzenie web serwisu poprzez przykładowe zapytanie:
http://osrm1.ump.waw.pl/OSRMauto/timestamp?jsonp=TEST
Podniesienie wersji serwerów OSRM
- katalogu z źródłami projektu OSRM ( git clone https://github.com/DennisOSRM/Project-OSRM.git)
umpsrv@osrm1.ump.waw.pl~/osrm-build/Project-OSRM
- kompilacja zgodnie z instrukcją https://github.com/DennisOSRM/Project-OSRM/wiki/Building%20OSRM. Uwaga Aktualnie podążamy za gałęzią develop ale główną galęzią jest master.
git status git pull scons
- Kopiujemy trzy binaria do katalogu routerków: (UWAGA: osrm-routed za zmianą nazwy )
cp Project-OSRM/osrm-extract Project-OSRM/osrm-prepare OSRM-auto cp Project-OSRM/osrm-routed OSRM-auto/osrm-routed-auto cp Project-OSRM/osrm-extract Project-OSRM/osrm-prepare OSRM-pieszo cp Project-OSRM/osrm-routed OSRM-pieszo/osrm-routed-pieszo cp Project-OSRM/osrm-extract Project-OSRM/osrm-prepare OSRM-rower cp Project-OSRM/osrm-routed OSRM-rower/osrm-routed-rower