X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FEngine%2FFastCGI.pm;h=67b79be6cd8faadbd7b9636f1736d4a783d2947c;hb=94edbd2cb9cb1f63d5e10bff36e4218c44d2e978;hp=b8e0635f058aa51c9031edc1006fe58a4f615367;hpb=1667a59502969244378a3d0ccb4aefe9420707f1;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Engine/FastCGI.pm b/lib/Catalyst/Engine/FastCGI.pm index b8e0635..67b79be 100644 --- a/lib/Catalyst/Engine/FastCGI.pm +++ b/lib/Catalyst/Engine/FastCGI.pm @@ -113,6 +113,7 @@ sub run { if ($listen) { $options->{manager} ||= "FCGI::ProcManager"; $options->{nproc} ||= 1; + $options->{proc_title} ||= "perl-fcgi-pm [$class]"; $self->daemon_fork() if $options->{detach}; @@ -123,6 +124,7 @@ sub run { { n_processes => $options->{nproc}, pid_fname => $options->{pidfile}, + pm_title => $options->{proc_title}, } ); @@ -144,11 +146,6 @@ sub run { $self->_fix_env( \%env ); - # hack for perl libraries that use FILENO (e.g. IPC::Run) - # trying to patch FCGI.pm, but not got there yet :/ - local *FCGI::Stream::FILENO = sub { -2 } - unless FCGI::Stream->can('FILENO'); - $class->handle_request( env => \%env ); $proc_manager && $proc_manager->pm_post_dispatch(); @@ -302,7 +299,7 @@ static, and dynamic. =head3 Standalone server mode FastCgiExternalServer /tmp/myapp.fcgi -socket /tmp/myapp.socket - Alias /myapp/ /tmp/myapp/myapp.fcgi/ + Alias /myapp/ /tmp/myapp.fcgi/ # Or, run at the root Alias / /tmp/myapp.fcgi/ @@ -468,8 +465,8 @@ The server configuration block should look roughly like: fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; + fastcgi_param SCRIPT_NAME /; fastcgi_param PATH_INFO $fastcgi_script_name; - fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; @@ -495,14 +492,14 @@ simply include that file. =head3 Non-root configuration -If you properly specify the PATH_INFO and SCRIPT_NAME parameters your -application will be accessible at any path. The SCRIPT_NAME variable is the +If you properly specify the PATH_INFO and SCRIPT_NAME parameters your +application will be accessible at any path. The SCRIPT_NAME variable is the prefix of your application, and PATH_INFO would be everything in addition. As an example, if your application is rooted at /myapp, you would configure: - fastcgi_param PATH_INFO /myapp/; - fastcgi_param SCRIPT_NAME $fastcgi_script_name; + fastcgi_param SCRIPT_NAME /myapp/; + fastcgi_param PATH_INFO $fastcgi_script_name; C<$fastcgi_script_name> would be "/myapp/path/of/the/action". Catalyst will process this accordingly and setup the application base as expected.