Help needed with config

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

On Mon, Nov 04, 2013 at 05:37:15PM +0000, Ian H. wrote:

Hi there,

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.

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???

Not using that config file, that server block, or that nginx?

I’m using nginx 1.2.6, compiled with the Comet module included.

With

$ sbin/nginx -V
nginx version: nginx/1.2.6
built by gcc 4.4.5 (Debian 4.4.5-8)
configure arguments: --with-debug
–add-module=…/nginx_http_push_module-0.692/

it happily serves local files and php scripts for me.

What does the debug log say is happening, when you use “curl” to access
one specific url?

f

Francis D. [email protected]

Hi Francis,

Your guess was spot on. I had domain “resellerdev.anake.hcs” confused
with “reseller.anake.hcs” , becasue of a switch about on my favourites
menu :frowning:

Thanks.

Ian

On 04/11/2013 19:01, Francis D. wrote:

files in $resellerroot, files in neither, static files, and php files.
configure arguments: --with-debug --add-module=…/nginx_http_push_module-0.692/

it happily serves local files and php scripts for me.

What does the debug log say is happening, when you use “curl” to access
one specific url?

f


Ian H.
31 Sheerwater, Northampton NN3 5HU,
Tel: 01604 513875
Preparing eBooks for Kindle and ePub formats to give the best reader
experience.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs