[ic] Running Interchange 5 with Plack

Jon Jensen jon at endpoint.com
Fri Sep 11 13:24:51 UTC 2015


On Thu, 10 Sep 2015, Sam Batschelet wrote:

> I wanted to share my research on running Interchange 5 with Plack. 
> Recently a lot of my development has been with Dancer and the preferred 
> stack is typically something like Nginx, Plack and Starman.  After 
> listening to a few people looking for alternatives to Apache and 
> reluctancy to use Nginx with FastCGI with Interchange.  I wondered would 
> it be possible to run Interchange 5 in a NPS stack.  I started 
> researching existing modules and came across Plack::App::CGIBin written 
> by Tatsuhiko Miyagawa.  To my delight my first test with the example in 
> the POD had Interchange with a c compiled cgi-file running on Plack!

Very cool, Sam! It's about time someone tried that.

I'm really surprised that Plack will work with a compiled C binary. You're 
positive you weren't somehow running the Perl vlink.pl instead? If they're 
in the same directory I would be suspicious that Plack::App::CGIBin is 
getting fancy inferring the .pl suffix or something.

> Also consider how much closer this puts your env to Dancer and how IC5 
> and Dancer might be able to work together.

Yeah, it would be nice to have them in a single daemon the web server can 
HTTP proxy to. That is a much more standard stack these days that 
sysadmins know how to work with.

> Perhaps a cleaner Plack solution to Interchange is in the future?

I've long wanted to adapt Interchange 5 to run inside a Plack/PSGI daemon 
like I did for mod_perl back in 2002:

https://github.com/interchange/interchange/commit/4c19058b

That hasn't been updated for mod_perl 2, and turned out to be less useful 
than I hoped because in order to avoid bloating all your Apache processes, 
you needed to run a separate Apache daemon just for Interchange. But it 
did run well in production for one of our busy clients for several years.

It'd be much nicer to have Plack/PSGI playing that role instead of Apache 
mod_perl!

Jon


-- 
Jon Jensen
End Point Corporation
https://www.endpoint.com/



More information about the interchange-users mailing list