update nginx+fcgi deployment guide for PSGI compat
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / Deployment / nginx / FastCGI.pod
index 10c15fe..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
@@ -65,7 +73,7 @@ As an example, if your application is rooted at /myapp, you would configure:
         include /etc/nginx/fastcgi_params;
         fastcgi_param SCRIPT_NAME /myapp/;
         fastcgi_param PATH_INFO   $fastcgi_script_name;
-        fastcgi_pass unix:/tmp/mediaapi.socket;
+        fastcgi_pass unix:/tmp/myapp.socket;
     }
 
 C<$fastcgi_script_name> would be "/myapp/path/of/the/action".  Catalyst will
@@ -76,7 +84,7 @@ functional.
 
 Note that the rewrite may not be needed with newer versions of nginx,
 and the paths must be exactly as specified - the trailing slash in the
-location block and the SCRIPT name are important.
+location block and the SCRIPT_NAME are important.
 
 =head2 SSL