HTTP/2 Server Push в Nginx

  • Автор темы Автор темы grigori
  • Дата начала Дата начала
Ну вот, кстати, да, если уж нужны всякие сумасшедшие китайские навороты, то лучше его. Там хотя бы все эти конструкции из грязных хаков оттестированы на кодовой базе, с которой они собираются. Модули-то могут разломаться в любой момент.
 
Давно не смотрел, кстати, а там с появлением динамических модулей уже вынесли всякую стороннюю ересь отдельно?
Когда смотрел, "обычный" был с пачкой модулей сомнительного качества, а в light не было map, который нужен почти всегда.
Ты знаешь, по моему, нет. Я помню, что я какой-то один динамический модуль заюзал, и все ) Остальное как было кирпичом, так и есть. Но это было полгодика назад уже. Может, ситуация изменилась, я не знаю.
 
Ситуация как была, так и
Код:
./configure --prefix=/etc/nginx \
  --sbin-path=/usr/sbin/nginx \
  --modules-path=/usr/lib/nginx/modules \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx.pid \
  --lock-path=/var/run/nginx.lock \
  --http-client-body-temp-path=/var/cache/nginx/client_temp \
  --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
  --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
  --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
  --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
  --user=www-data --group=www-data \
  --with-compat --with-file-aio --with-threads \
  --with-http_addition_module --with-http_auth_request_module --with-http_dav_module \
  --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module \
  --with-http_mp4_module --with-http_random_index_module --with-http_realip_module \
  --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module \
  --with-http_stub_status_module --with-http_sub_module --with-http_v2_module \
  --with-mail --with-mail_ssl_module \
  --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module \
  --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' \
  --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'
 
причем, все пути для кешей задавать при сборке не надо - их можно написать в конфиге

--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
 
Это дебскрипт. Что там как задаётся, не знаю, я смотрю ключи компиляции бинарника.
 
это понятно, я о другом: все эти 5 папок создаются, и никогда одновременно не будут использоваться,
а если вдруг будут - пишется туда все с одними пермиссиями :)
 
Для меня это тёмный лес. :)
Я только --add-dynamic-module= выучил.
 
Если nginx делает FCGI-запрос к PHP, результат этого запроса может кешироваться на диске. В Nginx довольно навороченный механизм кеширования. Например, они сделали отдельный процесс, который бегает по кешу, следит за объемам и чистит.
При этом, есть ограничение на количество удаляемых файлов в период времени, чтобы не убить I/O. Для каждого кеша можно поставить свои аттрибуты файлов.

Не представляю себе такую установку Nginx, которая одновременно балансирует и кеширует HTTP-запросы, кеширует вызовы к PHP и python/ruby, и кеши хранятся с общим доступом.
 
Ясно, спасибо. Всё равно эти ключи для меня бессмысленны, я только `make modules` делаю.
 
Сверху