Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
кэширование, или помогите понять (построить) логик у
- To: nginx-ru@xxxxxxxxx
- Subject: кэширование, или помогите понять (построить) логик у
- From: "amberbam" <nginx-forum@xxxxxxxx>
- Date: Fri, 24 Sep 2010 23:15:10 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=J80BCrsBSh0G48u0xj/8NrXDN85ioUMxpW6vKYecZ/s=; b=cK/CPSsceRZuTqrwuMTMSZ7KE7+TfcOoKirQcPFdXmvi9qmoYh6wuojZg58izJTKTbokcIe/OMWV0tEHZGgqaPDogMcU95xJ8qLfdXIkGBhfGCIWY+rmyGtxLANqFNer;
Здравствуйте, уважаемые гуру.
Помогите пожалуйста разобраться с
построением конфига, потому что уже
мозги кипят, откровенно говоря..
Имеется друпал и форум на пхпбб -
[code]
server {
.....
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
# для imagecache реврайтец
location ~ /sites/default/files/imagecache/ {
try_files $uri /index.php?q=$uri;
}
# скрипты форума не кэшируем вообще
location ~ /forum/.*\.php$ {
error_page 407 @nocache;
try_files @nocache =407;
}
location @nocache {
try_files $uri =404;
fastcgi_pass backend;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME
/var/www/$host/htdocs$fastcgi_script_name;
}
# все другие php-скрипты будем
кэшировать, походу это друпал с 90%
вероятностью
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass backend;
fastcgi_param SCRIPT_FILENAME
/var/www/$host/htdocs$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
fastcgi_cache root;
fastcgi_cache_key бла-бла-бла
fastcgi_cache_.......
}
# отдельно для форума кое-че таки
кэшируем, картинки, стили...
location ~ (регулярка) {
try_files $uri =404;
fastcgi_pass backend;
fastcgi_param SCRIPT_FILENAME
/var/www/$host/htdocs$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
fastcgi_cache phpbbfiles;
fastcgi_cache_то-се
fastcgi_cache_.......
}
.......
}
[/code]
Вот...
Вся эта конструкция, не смотря на ее
кривость в некоторых местах (например
@nocache =407, но мне локейшн @nocache еще будет
нужен, а как туда иначе перейти в этой
ситуации я так и не понял), вполне себе
работает как нужно, если бы не одно но -
наличие магазина и еще кое-какого
контента, который кэшировать ну никак
нельзя.
Добавляю например -
location ~ /catalog {
и вот тут нужно бы сделать реврайт для
чистых ссылок, то есть перекинуть на
/index.php?q=$uri&$args... Вот тут я и перестал
понимать как добиться этого. Банальный
rewrite сюда если вписать, то оно все равно
будет кэшировать, потому как php у нас
определено выше. Вписать реврайт в
секцию server тоже не получится, так как
там не один друпал.. Ситуация еще
усугубляется тем, что мне нужно будет
вставить еще кучу limit_req, то есть
наклепать еще множество локейшнов, при
этом я хочу чтобы локейшн для "общего
.php" таким и оставался как сейчас, что бы
не плодить тонны деректив....
Фактически я написал было конфиг, да он
получился настолько огромный и не
уклюжий, что мне его не то что тут
стыдно показывать, а даже страшно на
сервер заливать.
Прошу вашей помощи. Разъясните
начинающему, как правильно писать
подобные конфигурации. Да и вообще что
тут у меня не так, потому как мне
кажется что непременно что-то не так (я
всего неделю как nginx кручу)..
С уважением....
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,133832,133832#msg-133832
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|