X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FDeployment%2Fnginx%2FFastCGI.pod;h=2cd9269f2571d6aaf8ccd14f741c0966b9664cdf;hp=7a93ab3a735ebe5915ba0cf7bb14c0911afc9002;hb=09300532e2e27e1cdd4fbcd03f0e73d84c168670;hpb=0191b4351578d840cba62c5eb24a7f51238f6076 diff --git a/lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod b/lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod index 7a93ab3..2cd9269 100644 --- a/lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod +++ b/lib/Catalyst/Manual/Deployment/nginx/FastCGI.pod @@ -5,7 +5,7 @@ Catalyst::Manual::Deployment::nginx::FastCGI - Deploying Catalyst with nginx =head1 nginx Catalyst runs under nginx via FastCGI in a similar fashion as the lighttpd -standalone server as described above. +standalone server. nginx does not have its own internal FastCGI process manager, so you must run the FastCGI service separately. @@ -42,7 +42,7 @@ The server configuration block should look roughly like: fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; - + # Adjust the socket for your applications! fastcgi_pass unix:$docroot/myapp.socket; } @@ -60,15 +60,33 @@ 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/myapp.socket; + } C<$fastcgi_script_name> would be "/myapp/path/of/the/action". Catalyst will process this accordingly and setup the application base as expected. -This behavior is somewhat different than Apache and Lighttpd, but is still +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 +the following in your nginx config for the SSL vhost: + + fastcgi_param HTTPS on + +=head1 MORE INFO + For more information on nginx, visit: L