Bump version
Add a CHANGELOG.md
Fix up xt/server.rakutest
Cro::FCGI
FastCGI support for Cro
use Cro::FCGI::Server;
my $service = Cro::FCGI::Server.new(
host => '127.0.0.1',
port => 43210,
application => MyCroApp
);
$service.start;
Webserver config (Apache here):
Listen 43210
<VirtualHost 127.0.0.1:43210>
ProxyFCGIBackendType GENERIC
ProxyPass "/" "fcgi://127.0.0.1:43211/" enablereuse=on
</VirtualHost>
use Cro::FCGI::Server;
my $service = Cro::FCGI::Server.new(
socket-path => '/run/cro-fcgi/my-cro-app.sock',
application => MyCroApp
);
$service.start;
Webserver config (Apache here):
Listen 43210
<VirtualHost 127.0.0.1:43210>
ProxyFCGIBackendType GENERIC
ProxyPass "/" "unix:/run/cro-fcgi/my-cro-app.sock|fcgi://127.0.0.1/" enablereuse=on
</VirtualHost>
This module provides a FastCGI frontend for Cro. It allows a simple coupling of a webserver and Cro application.
The module provides a drop-in replacement for Cro::HTTP::Server
named Cro::FCGI::Server
. It can be instantiated for either a network connetion or a Unix socket connection.
To start listening on a network port pass the host
and port
arguments.
To start listening on a Unix socket, pass the socket-path
argument. Make sure the socket is readable and writable by the webserver process. Note that SELinux can possibly block access to the socket file for the webserver.
To access the remote and local host and port of the connection of a given request, use the .socket-host
, .socket-port
, .peer-host
and .peer-port
methods of the request object, not the equally named methods of the Cro::Connection
object ($request.connection.*
). With FCGI, the connection represents the connection to the webserver, not the client!
Currently starting the application process automatically is not supported. You have to start the Cro application separately. For Apache this means you should use mod_proxy_fcgi
instead of mod_fcgid
.
Patrick Böker patrick.boeker@posteo.de
This module is distributed under the terms of the Artistic License 2.0.