[mapserver-users] nginx/fastcgi/mapserver

thomas bonfort thomas.bonfort at gmail.com
Fri May 11 04:57:15 EDT 2012


You might want to have a look at
https://github.com/mapserver/mapserver/issues/3099

tl;dr
 - mapserver fastcgi calls exit() when running in an error condition,
which causes some fastcgi spawning managers to have issues
 - mapserver 6.2 (current git master) has been refactored to greatly
minimize the exit() occurences (basically only on memory allocation
errors)

--
thomas

On Fri, May 11, 2012 at 10:42 AM, Peter Maes <thxftw at gmail.com> wrote:
> Hello,
>
> I'm trying to run mapserver on nginx (fastcgi), but after 2 days booked
> little success.
>
> 1. I've compiled mapserv with fastcgi support and validated this
> 2. I created a spawn-fcgi startup script based on this
>http://osgeo-org.1560.n6.nabble.com/Mapserver-on-nginx-td4226669.html
>
> It now looks like this:
> ----
> #!/bin/sh
> MAPSERV_PORT=9001
> USER=www-data
> DAEMON=/usr/local/bin/mapserv
> CHILDREN=5
>
> # the -F switch of spawn-fcg does not work when the -n swich
> # is set. using multiwatch instead
> # see http://manpages.ubuntu.com/manpages/lucid/man1/spawn-fcgi.1.html
>
> exec setuidgid $USER spawn-fcgi \
>   -a 127.0.0.1 \
>   -p $MAPSERV_PORT \
>   -u $USER \
>   /usr/bin/multiwatch -f $CHILDREN $DAEMON
> ----
>
> In Nginx its called like this:
>
>        location /mapserver/ {
>                 include /etc/nginx/fastcgi_params;
>                 fastcgi_pass 127.0.0.1:9001;
>
>                 fastcgi_param SCRIPT_FILENAME /usr/local/run/spawnscript;
>                 fastcgi_param PATH_INFO /usr/local/run/ spawnscript;
>         }
>
> When i try to connect to /mapserver in my browser, i get an error stating
> 502 Bad gateway.
>
> So i tried starting the spawn script manually: /usr/local/run/spawnscript .
> When i then try to connect using browser it works fine for a short while. On
> the console it logs this error:
> Spawing child[0] failed, next try
> Child[1] died, respawn
> Child[2] died, respawn
> Child[3] died, respawn
> Child[4] died, respawn
> Child[0] died, respawn
> Spawing child[1] failed, next try
> Spawing child[2] failed, next try
> Spawing child[3] failed, next try
> Spawing child[4] failed, next try
> Spawing child[0] failed, next try
> Spawing child[1] failed, next try
> Spawing child[2] failed, next try
> Spawing child[3] failed, next try
> Spawing child[4] failed, next try
> Spawing child[0] failed, next try
> Spawing child[1] failed, next try
> Spawing child[2] failed, next try
> Spawing child[3] failed, next try
> Spawing child[4] failed, next try
> Spawing child[0] failed, next try
> Spawing child[1] failed, next try
> Child[1] died to often, not forking again
> Spawing child[2] failed, next try
> Child[2] died to often, not forking again
> Spawing child[3] failed, next try
> Child[3] died to often, not forking again
> Spawing child[4] failed, next try
> Child[4] died to often, not forking again
> Spawing child[0] failed, next try
> Child[0] died to often, not forking again
>
> After which the process exits and I revert to the 502 Bad gateway.
>
> What am I missing here? :).
>
> Thanks for any tips. I'm not that experienced with spawn-fcgi.
>
>
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>


More information about the mapserver-users mailing list