[OSM-dev] Serving multiple maps with one server

Jon Burgess jburgess777 at googlemail.com
Wed Sep 24 19:23:39 BST 2008


On Wed, 2008-09-24 at 19:54 +0200, Jaume Figueras wrote:
> Hello,
> 
> I'm experimenting with OSM data, Mapnik and mod_tile. I set up a
> server 
> with the planet and works perfectly, but now I would like to serve 
> different maps with different information using the same computer.
> 
> I set up a new database, populate it, and tested it using the
> generate 
> tiles and a new xml file. Perfect.
> 
> So I tried to serve it with mod_tile. Since mod_tile and renderd uses
> a 
> lot of compiled parameters I thought that a solution would be
> compiling 
> another mod_tile as my_mod_tile and loading both in apache. So I
> copied 
> all the mod_tile soft to a new directory, say my_mod_tile, changed
> the 
> parameters (names, directories, etc) in render_config.h, changed the 
> filenames to my_mod_tile, changed the module name inside
> my_mod_tile.c 
> changed the Makefile and modules.mk filenames acordingly, changed the 
> socket in protocol.h, compiled it and correct some
> changed-name-errors 
> and get the my_mod_tile.so installed in apache.

As you point out the mod_tile code does not support multiple layers on
one server. Since you've got as far as you have I suspect the remaining
problem might be the name of the request handlers (r->handler), these
have to be unique to the module . Replace all instances of the following
strings in one of your copies of mod_tile.c:
	"tile_serve"
	"tile_dirty"
	"tile_status"
Perhaps make them "tile2_serve" etc.

The correct longer term answer is to move most of the parameters from
render_config.h into Apache module configuration directives. The
interaction between the mod_tile and renderd would also need some
improvement since the backend render daemon needs to know many of the
paths, name of style file etc.

	Jon








More information about the dev mailing list