fastcgi_param in server context does not work

Tomasz Pajor nikon at puffy.pl
Wed Sep 23 13:46:36 MSD 2009


Tomasz Pajor wrote:
> So there is no way to create such a configuration:
>
> # fastcgi.conf
> root /vhosts/landingpage/public;
> charset utf-8;
>
> fastcgi_index index.php;
>
> location / {
>    try_files $uri $uri/ @fallback;
>    fastcgi_pass unix:/var/run/spawn-fcgi.sock;
>    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
>    include fastcgi_params;
> }
>
> location @fallback {
>    fastcgi_pass unix:/var/run/spawn-fcgi.sock;
>    fastcgi_param SCRIPT_FILENAME $document_root/index.php;
>    include fastcgi_params;
> }
>
> # landingpage.conf
> server {
>    listen 80;
>    server_name .site1.landingpage.dev;
>    access_log off;
>    error_log /var/log/nginx/site1.landingpage.log;
>
>    fastcgi_param SITE site1;
>    include fastcgi.conf;
> }
>
> server {
>    listen 80;
>    server_name .site2.landingpage.dev;
>    access_log off;
>    error_log /var/log/nginx/site2.landingpage.log;
>
>    fastcgi_param SITE site2;
>    include fastcgi.conf;
> }
I've been going through emails, and I came up with a good solution to my 
configuration, based on Igor and Maxim suggestion in Conditional 
fastcgi_param thread.
Thanks!

# landingpage-fastcgi.conf
access_log off;
root /vhosts/landingpage/public;
charset utf-8;
fastcgi_index index.php;

location / {
    try_files $uri $uri/ @fallback;
    fastcgi_pass unix:/var/run/spawn-fcgi.sock;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    fastcgi_param SITE $landingpage_site;
    include fastcgi_params;
}

location @fallback {
    fastcgi_pass unix:/var/run/spawn-fcgi.sock;
    fastcgi_param SCRIPT_FILENAME $document_root/index.php;
    fastcgi_param SITE $landingpage_site;
    include fastcgi_params;
}

# landingpage.conf
map $http_host $landingpage_site {
    default site1;
    .site1.landingpage.dev site1;
    .site2.landingpage.dev site2;
}

server {
    listen 80;
    server_name .landingpage.dev .site1.landingpage.dev;
    error_log /var/log/nginx/landingpage/site1-error.log;
    include landingpage-fastcgi;
}

server {
    listen 80;
    server_name .site2.landingpage.dev;
    error_log /var/log/nginx/landingpage/site2-error.log;
    include landingpage-fastcgi;
}









More information about the nginx mailing list