Ускоряем работу сайта, используя быстрый и надёжный веб-сервер nginx

nginx — это простой, быстрый и надёжный сервер. Применение nginx очень эффективно для отдачи статического контента и в качестве прокси-сервера перед динамическими сайтами.

NGINX — это сокращение от «engine x», которое правильно произносится как энжин-икс, хотя в быту этот веб-сервер наиболее часто называют «нгинкс». Это очень быстрый веб-сервер, который замечательно справляется с отдачей статического контента (изображений, стилей, скриптов и прочих скачиваемых файлов), отлично подходит для проксирования запросов динамического контента, позволяя кешировать полученные от бекенда ответы.

В режиме проксирование nginx даёт существенный прирост производительности, особенно в тех случаях, когда бекендом является медленный веб-сервер, требующий много ресурсов (apache, например).

NGINX способен работать и без бекенд-серверав PHP-проектах связка nginx + FastCGI (php-fpm) часто более производительна, нежели более классическая nginx + apache.

В ruby-проектах nginx тоже весьма популярен — как правило, именно он выступает в качестве фронтенда для рельсовых веб-серверов Puma, Thin, Unicorn, Rainbows, Passenger.

Основные функции веб-сервера:

  • обработка запросов статических и индексных файлов
  • проксирование запросов с кешированием и без
  • простое распределение нагрузки и отказоустойчивость
  • поддержка FastCGI, серверов Memcached и хранилищ Redis
  • сжатие (gzip)
  • byte-ranges (докачка)
  • chunked ответы
  • HTTP-аутентификация
  • SSI-фильтры
  • поддержка SSL

NGINX (Engine X) — простой, быстрый и надёжный веб-сервер, не перегруженный функциями.

NGINX часто используется как обратный прокси-сервер перед динамическими веб-приложениями, что позволяет «разгрузить» application-сервер от задач обработки запросов на статические файлы, снизить нагрузку на приложения за счёт кеширования, а также обеспечить балансировку нагрузки и отказоустойчивость.

Узнать больше →

Cтатьи по теме:

Серверное программное обеспечение
На серверах устанавливается программное обеспечение, которое требуется для работы сайта и других служб домена, для обслуживания и мониторинга, а также для защиты от взлома и устойчивости к нагрузкам.
Веб-сервер Apache
Apache — это HTTP-сервер. Основными достоинствами считаются надёжность и гибкость конфигурации.
Ускоряем работу сайта: используем Redis для кеширования и хранения данных
Redis — сетевое журналируемое хранилище данных типа «ключ — значение», которое обрабатывает данные в оперативной памяти и обладает механизмами снимков и журналирования для обеспечения постоянного хранения. Хранилище поддерживает работу с пятью типами данных: со строками, списками, хешами, обычными и сортируемыми множествами.
Быстрый поиск на сайте, используя ElasticSearch или Sphinx
Sphinx и ElasticSearch — это поисковые «движки», которые обеспечивают более быстрый поиск и фильтрацию по сравнению с реляционными базами данных, а также обеспечивают возможность использования многих полезных функций поиска, например, учитывают морфологию языка, осуществляют фасеточный поиск, работают со стоп-словами, обеспечивают выборочную индексацию и позволяют производить настройку формулы определения релевантности документов.
Ускоряем работу сайта при помощи кеширования на базе Memcached
Memcached — это хранилище «ключ => значение», использование которого очень эффективно для ускорения работы сайта или веб-приложения.
Масштабирование баз данных — партиционирование, репликация и шардинг
СУБД — это очень часто «узкое место» в производительности веб-приложений. В момент, когда сервер баз данных не может справится с нагрузками, производится масштабирование. Рассмотрим основные способы увеличения производительности СУБД.
Хостинг сайтов и веб-приложений
Это услуга по предоставлению дискового пространства и вычислительных ресурсов на сервере, постоянно находящемся в сети интернет. Обычно под понятием услуги хостинга подразумевают как минимум услугу размещения файлов сайта на сервере, на котором запущено ПО, необходимое для обработки запросов к этим файлам (веб-сервер).

Тематические технологии:

Поисковая система ElasticSearch
СУБД Redis
Docker
Kubernetes
Red Hat Enterprise Linux
CentOS
Система управления конфигурациями Ansible
Колоночная СУБД Cassandra