Практическое применение nginx на отдаче статики
Возможно эта статья ниочем, подумал я. Но тут намедни вопросы появились насчет разделения front-back отдачи контента. И я понял что есть еще люди…
И они всегда будут. А значит есть о чем написать.
Все знают наш любимый и почитаемый веб сервер Apache. К сожалению время его сделало до такой степени «навороченым», что порой поражаешься сколько памяти и ресурсов вообще он может кушать на довольно простых задачах. И иногда сервер просто не справляется с нагрузкой (в основном не хватает памяти).
Нужно констатировать факт – Apache совершенно неэкономно расходует память при отдаче статического контента (картинки, HTML файлы, стили и т.д. – любой контент, который не содержит в себе серверного кода).
Благо есть с чем сравнить. Уже давно появился легкий веб-сервер Nginx. Он написан изначально оптимизированным под отдачу статики и, в сравнении с Apache, совершенно не расходует память. И везде, где только можно кусок памяти временно скинуть на диск, он это делает не выедая лишних системных ресурсов.
Но Nginx не содержит каких либо модулей для обработки динамического контента (кроме SSI). Он может только «проксировать» (передавать) обработку контента «бекенду» – собранному на заднем плане обработчику динамики Apache (или любому другом веб серверу). Так же Nginx умеет общаться с Fast-CGI сервером на бекенде.