hi,
what I want to do is:
- trying to serve content like url =>
http://my.domain.tld/static/bla-bla-bla?id=12345 - check an html page on cache (on redis)
- if doesn’t exists, let’s create it (via php script
/api/entrypoint.php?.. ) - always update statistical counters (asyncronous batch)
problem:
step 4) never processed until I comment “error page 404 = …”.
In thi case all request to redis are processed (via 127.0.0.1:33333 and
127.0.0.1:22222) but a 404 error on browser too
my nginx.conf
location ^~ /static/ {
2) check an html page (on redis)
set $redis_key “my:permalink:$arg_id:html”;
redis_pass 127.0.0.1:33333;
3) if doesn’t exists, let’s create it (via php)
error_page 404 = /api/entrypoint.php?action=do_html&id=$arg_id;
4) always update statistical counters (asyncronous batch)
post_action /update_counters;
}
location /update_counters {
set $queue_name ‘my:queue:to:process:asyncronous’;
redis2_query lpush $queue_name $request_uri;
redis2_pass 127.0.0.1:22222;
}
pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
thanks
maxf3r