[dancer-users] Collision of multiple Dancer2 apps using Plack::Handler::Apache2

Pedro Melo melo at simplicidade.org
Wed Sep 18 06:17:32 BST 2013


Hi,

On Tue, Sep 17, 2013 at 10:36 AM, Juan José 'Peco' San Martín <
jsanmartin at gmail.com> wrote:

> I have 2 different Dancer apps (app1 and app2). Each one working very well
> on different servers under Apache and Plack::Handler::Apache2.
>
> Now, I would like put both applications in just one server, so I adjusted
> the Apache config just adding the two Location sections.
>
> If I use the first app, everything works, but when I try the second one,
> it seems that Dancer2 (with Plack::Handler::Apache2) still looks for the
> paths of the first app (so it fails because it can not find my app2
> modules).
>
> Example (how to reproduce the behaviour)
>
> 0) Dancer 2.06
>
> 1) Adjust Apache config to add the Locations of the two apps
>
> # Apache location
> <Location /app1>
>     SetHandler perl-script
>     PerlHandler Plack::Handler::Apache2
>     PerlSetVar psgi_app /path/app1/bin/app.pl
> </Location>
>
> <Location /app2>
>    SetHandler perl-script
>    PerlHandler Plack::Handler::Apache2
>    PerlSetVar psgi_app /path/app2/bin/app.pl
> </Location>
>
> 2) Try app1 => it works!
>
> 3) Try app2 => fails with the next message: Error while loading /app2/
> app.pl: Can't locate App2.pm in @INC (@INC contains /path/app1/lib/
> /usr/local....)
>
> Where App2 is the main module at (app2/lib/) called from app2/bin/app.plafter use Dancer2.
>

Try this: create a merged.psgi file with this content:

use Plack::Builder;
use App1;
use App2;

builder {
  mount '/app1' => App1->dance;
  mount '/app2' => App2->dance;
};


And then use it on Apache with:

<Location />
    SetHandler perl-script
    PerlHandler Plack::Handler::Apache2
    PerlSetVar psgi_app /path/to/merged.psgi
</Location>

I have not tested this, I don't have a mod_perl2 at hand anymore, but it
should work.

Bye,
-- 
Pedro Melo
@pedromelo
http://www.simplicidade.org/
xmpp:melo at simplicidade.org
mailto:melo at simplicidade.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.preshweb.co.uk/pipermail/dancer-users/attachments/20130918/5e544711/attachment.htm>


More information about the dancer-users mailing list