User:Kannix/tilestache
Jump to navigation
Jump to search
tilestache mod_python on parallels PLESK
Had a hard time getting tilestache running under mod_python on my plesk machine: 404 Not Found error :-(
(tested on plesk 11 / plesk 12)
This should work:
- make sure, mod_python is installed:
- server settings > tools & settings > plesk > updates and upgrades > Add/Remove Components > Web hosting features > Apache mod_python module
- check domain settings:
- Hosting Services > Domains > [yourdomain.tld] > Manage Hosting > Websites & Domains > show more > hosting settings > UNCHECK Python support
- checking 'python support' leads plesk to add this to /var/www/vhosts/system/[yourdomain.tld]/conf/httpd.conf (httpd.conf is autogenerated by plesk and not editable by user!)
<IfModule mod_python.c> <Files ~ (\.py$)> SetHandler python-program PythonHandler mod_python.cgihandler </Files> </IfModule>
- add custom httpd directives:
- Hosting Services > Domains > [yourdomain.tld] > Manage Hosting > Websites & Domains > show more > Web Server Settings > Additional directives for HTTP
<Directory /var/www/vhosts/[yourdomain.tld]/httpdocs> AddHandler mod_python .py PythonHandler TileStache::modpythonHandler PythonOption config /etc/tilestache.cfg </Directory>
tilestache and nginx on parallels PLESK
serving-your-map-tiles-30-times-faster
- make sure, nginx is installed:
- server settings > tools & settings > plesk > updates and upgrades > Add/Remove Components > Web hosting features > Nginx web server and reverse proxy support
- add custom httpd directives:
- Hosting Services > Domains > [yourdomain.tld] > Manage Hosting > Websites & Domains > show more > Web Server Settings > nginx settings
- check 'Smart static files processing'
- check 'Serve static files directly by nginx' and remove png from list
- Additional nginx directives:
- Hosting Services > Domains > [yourdomain.tld] > Manage Hosting > Websites & Domains > show more > Web Server Settings > nginx settings
location ~ ^\/tiles.py\/(?<tile_path>.*)$ { alias /tmp/stache/; log_not_found off; expires 30d; add_header Pragma public; add_header Cache-Control "public"; add_header X-Static super; try_files $tile_path @tilestache; } location @tilestache { log_not_found off; proxy_pass http://[your-server-IP]:7080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; expires 30d; etag on; add_header X-Static miss; }
/etc/tilestache.cfg { "cache": { "name": "Disk", "path": "/var/www/vhosts/grade.de/tiles.grade.de/stache", "umask": "0000", "dirs": "portable", "gzip": ["xml", "json"] }, "layers": { "cemt-vector-2020": { "provider": { "name": "mbtiles", "tileset": "/var/www/vhosts/grade.de/tiles.grade.de/cemt_EU_2020_uc.mbtiles" }, "cache lifespan": 43200 }, "cemt-json-tiled-uc": { "provider": { "name": "mbtiles", "tileset": "/var/www/vhosts/grade.de/tiles.grade.de/cemt_EU_2019_uc.mbtiles" }, "cache lifespan": 43200 }, "vector-waterway": { "provider": { "name": "vector", "driver": "Spatialite", "parameters": {"file": "/var/www/vhosts/grade.de/tiles.grade.de/cemt_minimal.db", "layer": "cemt_polylines"} } }, "int-chart": { "provider": { "name": "vector", "driver": "GeoJSON", "parameters": {"file": "/var/www/vhosts/grade.de/tiles.grade.de/int-chart.geojson"} } }, "NAUTHIS_SkinOfEarth": { "provider": { "name": "url template", "template": "https://www.geoseaportal.de/wss/service/NAUTHIS_SkinOfTheEarth/guest?LAYERS=18&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS=EPSG%3A3857&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 53.7, "lon": 7.52, "zoom": 8 } }, "NAUTHIS_AidsAndServices": { "provider": { "name": "url template", "template": "http://www.geoseaportal.de/wss/service/NAUTHIS_AidsAndServices/guest?LAYERS=82,81,80,78,77,76,74,73,72,71,70,69,68,67,66,65&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS=EPSG%3A3857&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 53.7, "lon": 7.52, "zoom": 8 } }, "NAUTHIS_Hydrography": { "provider": { "name": "url template", "template": "http://www.geoseaportal.de/wss/service/NAUTHIS_Hydrography/guest?LAYERS=134,133,132,130,129,128,127,126,125,124,123,122,121,119,118,114,113,112,111,110&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS=EPSG%3A3857&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 53.7, "lon": 7.52, "zoom": 8 } }, "diepte_noordzee": { "provider": { "name": "url template", "template": "https://geoservices.rijkswaterstaat.nl/apps/geoserver/diepte_noordzee/ows?SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=diepte_noordzee:diepte_gegevens_noordzee_varierende_resolutie&STYLES=&FORMAT=image%2Fpng&SRS=EPSG%3A3857&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 53.7, "lon": 7.52, "zoom": 8 } }, "ncp_diepte14": { "provider": { "name": "url template", "template": "http://geoservices.rijkswaterstaat.nl/noordzee_bathymetry_in_lat_vector?LAYERS=ncp_diepte14&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS=EPSG%3A3857&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 53.7, "lon": 7.52, "zoom": 8 } }, "dieptelijn_50dm15": { "provider": { "name": "url template", "template": "http://geoservices.rijkswaterstaat.nl/noordzee_bathymetry_in_lat_vector?LAYERS=dieptelijn_50dm15&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS=EPSG%3A3857&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 53.7, "lon": 7.52, "zoom": 8 } }, "ijg_diep_2013": { "provider": { "name": "url template", "template": "http://geoservices.rijkswaterstaat.nl/ijsselmeergebied_diepte?LAYERS=ijg_diep_2013&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS=EPSG%3A3857&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 52.693, "lon": 5.597, "zoom": 8 } }, "GEBCO": { "provider": { "name": "url template", "template": "http://osm.franken.de:8080/geoserver/gwc/service/wms?LAYERS=gebco_new&FORMAT=image%2Fjpeg&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 52.693, "lon": 5.597, "zoom": 3 } }, "10m_tracks": { "provider": { "name": "url template", "template": "http://osm.franken.de/cgi-bin/mapserv.fcgi?LAYERS=trackpoints_cor1_test_dbs_10%2Ctrackpoints_cor1_test_10%2Ctest_zoom_10_cor_1_points_10%2Ctest_zoom_9_cor_1_points_10%2Ctest_zoom_8_cor_1_points_10%2Ctest_zoom_7_cor_1_points_10%2Ctest_zoom_6_cor_1_points_10%2Ctest_zoom_5_cor_1_points_10%2Ctest_zoom_4_cor_1_points_10%2Ctest_zoom_3_cor_1_points_10%2Ctest_zoom_2_cor_1_points_10&NUMZOOMLEVELS=22&PROJECTION=EPSG%3A900913&TYPE=png&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS=EPSG%3A900913&BBOX=$xmin,$ymin,$xmax,$ymax&WIDTH=$width&HEIGHT=$height" }, "preview": { "lat": 52.693, "lon": 5.597, "zoom": 8 } }, "cemt": { "provider": { "name": "mbtiles", "tileset": "/var/www/vhosts/grade.de/tiles.grade.de/cemt.mbtiles" }, "cache lifespan": 43200 }, "seamark": { "provider": { "name": "proxy", "url": "http://t1.openseamap.org/seamark/{Z}/{X}/{Y}.png" }, "cache lifespan": 43200 }, "openriverboatmap": { "provider": { "name": "proxy", "url": "http://a.tile.openstreetmap.fr/openriverboatmap/{Z}/{X}/{Y}.png" }, "cache lifespan": 43200 } }, "logging": "critical" }