Help needed with config
Ian Hobson
ian.hobson at ntlworld.com
Mon Nov 4 17:37:15 UTC 2013
Hi,
I'm baffled. What I want to do is to serve static and php files from one
root if they exist there, and
from another if they don't, and give a 404 error if the file is in
neither location. I have the following config file.
server {
server_name reseller.anake.hcs;
listen 80;
fastcgi_read_timeout 300;
index index.php;
set $resellerroot "/home/ian/websites/reseller/htdocs";
set $centralroot "/home/ian/websites/coachmaster3dev/htdocs";
root $resellerroot;
# if / then redirect to index.php
location = / {
# serve /index.php
rewrite ^ /index.php last;
}
# if local php file exits, serve with fcgi
location ~ \.php$ {
try_files $uri $uri/ @masterphp;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param CENTRAL_ROOT $centralroot;
fastcgi_param RESELLER_ROOT $resellerroot;
include /etc/nginx/fastcgi_params;
}
# serve php file from master root
location @masterphp {
root $centralroot;
try_files $uri $uri/ =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $centralroot$fastcgi_script_name;
fastcgi_param CENTRAL_ROOT $centralroot;
fastcgi_param RESELLER_ROOT $resellerroot;
include /etc/nginx/fastcgi_params;
}
# serve local static files if they exist
try_files $uri @masterstatic;
# switch to master set when they don't
location @masterstatic {
root $centralroot;
try_files $uri =404;
}
# now to configure the long polling
push_store_messages on;
location /publish {
push_publisher;
set $push_channel_id $arg_id;
push_message_timeout 30s;
push_max_message_buffer_length 10;
}
# public long-polling endpoint
location /activity {
push_subscriber;
push_subscriber_concurrency broadcast;
set $push_channel_id $arg_id;
default_type text/plain;
}
}
It gives me "No input file specified. " for *all* inputs - and I mean
all. Files in $centralroot,
files in $resellerroot, files in neither, static files, and php files.
Why? What am I doing silly???
I'm using nginx 1.2.6, compiled with the Comet module included.
Thanks
Ian
More information about the nginx
mailing list