Ставить Apache и Фронт Джинкса.
nGinx заюзать под:
http {
# даже обычные медленные клиенты, обычно дороги
reset_timedout_connection on;
client_header_timeout 15;
client_body_timeout 15;
send_timeout 5;
keepalive_timeout 30 15;
# введем две зоны ограничений.
# По открытым соединениям и по request rate
limit_req_zone $binary_remote_addr zone=qglob:16m rate=3r/s;
limit_zone cglob $binary_remote_addr 16m;
server {
listen 80;
server_name
www.myhost.ru;
proxy_set_header Host $host;
# необходимо для работы proxy_store
proxy_buffering on;
# ограничим максимальное количество соединений с одного ip
# до 4х клиентов с одного ip по rfc2616
limit_conn cglob 32;
# Быстро отлавливаем “GET / “.
# Дописываем удобное имя файла.
location = / {
rewrite ^/$ /index.html last;
}
#Пост-рейт отдача статического index.html или загрузка с бэкенда.
location = /index.html {
internal;
limit_req zone=qglob burst=9 nodelay;
open_file_cache_errors off;
root /tmp/nginx/cache/;
error_page 404 = /cached$uri;
}
location /cached/ {
internal;
alias /tmp/nginx/cache/;
proxy_pass
phpfarm;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /tmp/nginx/tmp/;
}
#Жестоко зажатый на два запроса в секунду поиск.
location = /advanced_search_result.php {
limit_req zone=qulag burst=2;
proxy_pass
phpfarm;
}
# И все остальное.
location / {
proxy_pass
phpfarm;
}
}
}
Еще можно покурить в сторону sysctl и pf (ipfw)