From: Tomas Doran Date: Thu, 16 Feb 2012 20:37:37 +0000 (+0000) Subject: Update for nginx non-root to have more info X-Git-Tag: 5.9003~3 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=commitdiff_plain;h=d38b46544349cbb9d5d650d528face0416bd07a0;hp=498f110b032b50ca0ed0082c2cb6d56557158eac Update for nginx non-root to have more info --- diff --git a/Changes b/Changes index 2ae2aa9..7d84e24 100644 --- a/Changes +++ b/Changes @@ -3,6 +3,8 @@ Revision history for Catalyst-Manual - Mention PSGI in Manual::Ingro RT 74872 (thanks William Blunn). - Better docs of :Global inspired by RT 74869 (thanks William Blunn) - Highlight the importance of uncommenting the template line in the list action + - Clarify docs for nginx in non-root - a trailing slash on the + location block is very much needed. 5.9003 - Clarified Data::Dumper usage. RT#71410 Thanks to Bill Corr diff --git a/lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod b/lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod index d8e5f9a..10c15fe 100644 --- a/lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod +++ b/lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod @@ -60,8 +60,13 @@ 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 SCRIPT_NAME /myapp/; - fastcgi_param PATH_INFO $fastcgi_script_name; + rewrite ^/myapp$ /myapp/ permanent; + location /myapp/ { + include /etc/nginx/fastcgi_params; + fastcgi_param SCRIPT_NAME /myapp/; + fastcgi_param PATH_INFO $fastcgi_script_name; + fastcgi_pass unix:/tmp/mediaapi.socket; + } C<$fastcgi_script_name> would be "/myapp/path/of/the/action". Catalyst will process this accordingly and setup the application base as expected. @@ -69,6 +74,10 @@ process this accordingly and setup the application base as expected. This behavior is somewhat different from Apache and lighttpd, but is still 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. + =head2 SSL Make sure that nginx passes this to your fastcgi. To ensure this, you need