fastcgi, try_files, problems
Tomasz Pajor
nikon at puffy.pl
Thu Jul 16 16:06:34 MSD 2009
Hello all,
I have a problem with proper configuration of my page.
What I want to achieve is that:
- http://domain.com/ should point to an upstream bucket of fastcgi apps.
- http://domain.com/administrator should be served by a fastcgi server
on the same machine as balancer, so it should point to 127.0.0.1:3000 in
this case
- i think there is a way to simplify the two backend.php entries
- all /js/ entries for domain.com should be served staticly
- static.domain.com should be served staticly
Don't know what am I doing wrong, but the debug says that when i go to
http://domain.com/administrator it uses the location /administrator but
then it's redirected to /index.php and it uses location /, so not as I
intended.
Can You guys help me sort this out?
Configuration is as follows:
upstream apps {
server 10.0.1.50:3000;
}
server {
listen 80;
server_name domain.com;
error_log /var/log/nginx/domain-error.log debug;
location / {
root /disk0/vhosts/domain/public;
try_files $uri $uri /index.php;
fastcgi_pass apps;
#fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /administrator {
root /disk0/vhosts/domain/public;
try_files $uri $uri index.php;
fastcgi_pass 127.0.0.1:3000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME
/disk0/vhosts/domain/public/index.php;
fastcgi_param SCRIPT_FILENAME
/disk0/vhosts/domain/public/$fastcgi_script_name;
include fastcgi_params;
}
location /js/lib/xinha/plugins/ExtendedFileManager/backend.php {
fastcgi_pass 127.0.0.1:3000;
fastcgi_index backend.php;
fastcgi_param SCRIPT_FILENAME
/disk0/vhosts/domain/public/js/lib/xinha/plugins/ExtendedFileManager/backend.php;
include fastcgi_params;
access_log /var/log/nginx/backend1.log;
}
location /js/lib/xinha/plugins/ImageManager/backend.php {
fastcgi_pass 127.0.0.1:3000;
fastcgi_index backend.php;
fastcgi_param SCRIPT_FILENAME
/disk0/vhosts/domain/public/js/lib/xinha/plugins/ImageManager/backend.php;
include fastcgi_params;
access_log /var/log/nginx/backend2.log;
}
location ~ ^/(js)/ {
root /disk0/vhosts/domain/public;
expires 30d;
access_log /var/log/nginx/js.log;
}
}
server {
listen 80;
server_name static.domain.com;
location / {
root /disk0/vhosts/domain/static;
access_log off;
expires 30d;
}
}
server {
listen 80;
server_name .domain2.com;
location / {
fastcgi_pass 127.0.0.1:3000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/disk0/vhosts/domain2/public/index.php;
include fastcgi_params;
}
}
More information about the nginx
mailing list