Добрый день.
Есть 2 вопроса по nginx.
Сразу о версиях:
Версии nginx 0.7.67 и 1.0.4, работают в связке с PHP-FastCGI. Конфиги в аттаче.
2 сервера, оба Дебиан, первый - nginx из реп, второй - из сырцов
(--prefix=/opt/nginx --with-http_realip_module --with-http_addition_module --with-http_geoip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre)
Вопрос первый: про заголовки
Ответ от скрипта PHP:
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:close
Content-Encoding:gzip
Content-Type:text/html
Date:Mon, 27 Jun 2011 22:40:44 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Server:nginx/0.7.67
Тут почти все ок, но нет заголовка Content-Length.
Ответ от статики (CSS/JPG/JS), 2 последних Location:
Cache-Control:max-age=3600
Connection:keep-alive
Date:Mon, 27 Jun 2011 22:40:44 GMT
Expires:Mon, 27 Jun 2011 23:40:44 GMT
Last-Modified:Fri, 11 Feb 2011 15:15:53 GMT
Server:nginx/0.7.67
А вот тут интереснее: нет Content-Type, Content-Length и Content-Encoding (в варианте CSS/JS. Наверно из-за отсутствия первых 2-х Content-заголовков?)
Если в случае с РНР заголовок можно генерить средствами самого РНР, то как быть со статикой?
Второй вопрос про кеш.
Если попробовать создать "нагрузку" с помощью ab (например ab -t 10 -c 100 http://abc/) то в top процессов вырывается php-cgi и mySQL. А как же fastcgi_cache? По идее он же должен 1 раз отгенерить страницу и потом в течении fastcgi_cache_valid времени отдавать кеш... Или нет?