Routing na serwerze

Z UMP

(Różnice między wersjami)
(wersja 0.1)
(Konfiguracja serwerów OSRM na potrzeby projektu UMP)
Linia 20: Linia 20:
* katalog roboczy instalacji:
* katalog roboczy instalacji:
umpsrv@osrm1.ump.waw.pl~/osrm-build
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 ==
== Codzienne odświeżanie danych ==
-
 
Skrypt w cronie robi całą robotę:
Skrypt w cronie robi całą robotę:
umpsrv@osrm1.ump.waw.pl~/osrm-build/bin/check_and_update_osrm.sh cron
umpsrv@osrm1.ump.waw.pl~/osrm-build/bin/check_and_update_osrm.sh cron
Linia 33: Linia 56:
umpsrv@osrm1.ump.waw.pl~/osrm-build/OSRM-pieszo/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
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 ==
== Podniesienie wersji serwerów OSRM ==

Wersja z dnia 19:11, 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
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