nginx
- Homepage: nginx
nginx (engine x; по-русски произносится как энджин-экс) можно использовать как Методы и структура протокола HTTP -сервер, почтовый прокси-сервер и HTTP accelerator(reverse proxy). Применение nginx целесообразно прежде всего для статических веб-сайтов и как прокси-сервера перед динамическими сайтами. Nginx, как и Lighttpd, часто используют для отдачи статического содержимого, генерируемого «тяжёлым» веб-приложением, работающим под управлением другого веб-сервера. Архитектурно Nginx — это асинхронный сервер, который использует один главный процесс для приема соединений и несколько рабочих процессов для их обработки.
- Установка связки: Nginx Apache mod_rpaf
Мониторинг сервера nginx
Можно включить для каждого виртуального домена статистику. Для этого в описание домена нужно добавить директиву location:
location = /stat { stub_status on; access_log off; allow 10.xxx.xxx.xxx; deny all; }
Статистика будет доступна по адресу http://your.domen/stat . Статистика имеет вид:
Active connections: 6 server accepts handled requests 25 25 159 Reading: 0 Writing: 1 Waiting: 5
Модули и директивы
Директивы:
- proxy_max_temp_file_size задаёт максимальный размер временного файла для проксированного ответа. "proxy_max_temp_file_size 0" запрещает создание файла.
- client_body_buffer_size, например можно задать 128k;
Модули:
- ngx_http_ssi_module - модуль поддержки языка SSI.
- ngx_http_proxy_module позволяет передавать запросы другому серверу. Настройка кеширования.
Кэш (cache) в Nginx
Модель ngx_http_proxy_module позволяет передавать запросы другому серверу и управляет настройкой кеширования.
Nginx (с версии 0.7.44) умеет кэшировать, что позволяет повысить скорость отдачи часто используемых страниц. Nginx сохраняет сгенерированные страницы Apache в виде HTML- файлов на диске и при повторном обращении по одинаковому URL файл из кэша отдается клиенту. Ключом и именем файла в кэше является результат функции MD5 от проксированного URL.
Настройку кэширования нужно проводить внимательно, потому что на динамических сайтах может быть утерян функционал, например, перестанут работать корзины на сайтах-магазинах. Если движок сайта(CMS) известен можно попробовать найти готовые конфигурационный файлы для Nginx в интернете.
proxy_pass_header Set-Cookie; # разрешает передавать от проксируемого сервера клиенту запрещённые для передачи строки proxy_ignore_headers "Expires" "Cache-Control"; # запрещает обработку некоторых строк заголовка из ответа проксированного сервера