update nginx+fcgi deployment guide for PSGI compat
Rafael Kitover [Tue, 28 Feb 2012 16:50:53 +0000 (11:50 -0500)]
SCRIPT_NAME must not be '/' according to the PSGI spec, plackup without
-E deployment will load the Lint middleware, which will complain about
this and not allow the app to start.

Update the SCRIPT_NAME to '' for root apps and include a note about how
to do this if using the distributed /etc/nginx/fastcgi_params.

lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod

index 2cd9269..85ec816 100644 (file)
@@ -27,7 +27,7 @@ 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  SCRIPT_NAME        '';
             fastcgi_param  PATH_INFO          $fastcgi_script_name;
             fastcgi_param  REQUEST_URI        $request_uri;
             fastcgi_param  DOCUMENT_URI       $document_uri;
@@ -52,6 +52,14 @@ It is the standard convention of nginx to include the fastcgi_params in a
 separate file (usually something like C</etc/nginx/fastcgi_params>) and
 simply include that file.
 
+If you include the C</etc/nginx/fastcgi_params> that comes with your
+distribution, e.g. Debian, you need to adjust a couple of parameters for PSGI
+compatibility, use something like this:
+
+        include /etc/nginx/fastcgi_params;
+        fastcgi_param SCRIPT_NAME '';
+        fastcgi_param PATH_INFO   $fastcgi_script_name;
+
 =head2  Non-root configuration
 
 If you properly specify the PATH_INFO and SCRIPT_NAME parameters your