Тематический план ] [  Установка серверной части. Виды серверного программного обеспечения.]
 [ 1 ]

                                                                  
План
Введение
 

На серверах устанавливается программное обеспечение, которое требуется для работы сайта и других служб домена, для обслуживания и мониторинга, а также для защиты от взлома и устойчивости к нагрузкам.

На виртуальных хостингах часть из этого изначально установлена, но ни изменить конфигурацию, ни добавить компоненты там нельзя. На выделенных серверах (в том числе и виртуальных) можно установить любое нужное программное обеспечение.

На серверах, служащих для размещения сайтов, наиболее популярны безопасные и стабильные операционные системы семейства Linux (CentOS, RHEL, Debian и др.) и BSD (FreeBSD). Microsoft Server тоже встречается, но значительно реже.

Популярные пакеты серверного ПО

Веб-сервер. ПО, позволяющее принимать запросы пользователей, обрабатывать их и отправлять пользователям результаты обработки (html-страницы и другие файлы). Наиболее популярные веб-серверы — это Nginx и Apache, значительно менее распространен Microsoft IIS. Иногда с целью увеличения производительности устанавливается два веб-сервера: быстрый Nginx, который отдаёт пользователям «статику» (физически существующие на сервере документы, не требующие обработки перед отправкой), а остальные запросы переадресовывает серверу приложений (Apache, например), который занимается генерацией динамических документов. Существуют и другие производительные связки (Nginx + FastCGI, например), о рациональности использования той или иной реализации лучше проконсультироваться с разработчиками приложения и администраторами серверов.

Интерпретатор языка программирования. Компонент, который нужен для исполнения программного кода на сервере. Имеет различные версии и, как правило, модули расширений. Используемое на сервере программное обеспечение требовательно как к версии интерпретатора, так и к списку установленных расширений. Список требований приложения можно получить как у разработчика, так и у поставщика системы управления.

СУБД — система управления базами данных: MySQL, PostgreSQL, MS SQL, Oracle, Redis, MongoDB и т.д.

Поисковые системы — ElasticSearch / Sphinx — позволяют осуществлять поиск и фильтрацию быстрее, нежели это возможно с использованием реляционных СУБД.

FTP-сервер. Позволяет получать доступ к файлам, расположенным на сервере по протоколу FTP. Как правило, используется для администрирования сайта (как для обновления программного кода приложения, так и для загрузки объёмных файлов, которые нельзя загрузить через админку). Более безопасной альтернативой FTP является SFTP, протокол базирующийся на SSH и позволяющий шифровать передаваемые и получаемые данные.

Кеширующие сервера — системы, «запоминающие» результат обработки запросов и использующие эти данные при повторных обращениях для ускорения генерации страниц. Наиболее популярные кэширующие механизмы — Memcached и Redis.

ПО для обеспечения безопасности — от обычных брандмауэров (что обязательно) до автоматизированных систем обнаружения и предотвращения вторжений.

Софт для резервного копирования — бэкапы должны создаваться регулярно и автоматически, а также хранится не на том же сервере, где расположены «боевые данные».

Балансировщики нагрузки — обычно это веб-сервера, которые проксируют обращения клиентов на разные узлы, занимающиеся обработкой запросов, обеспечивая равномерное распределение нагрузки по кластеру. Также балансировщики отрабатывают инциденты отказа софта или железа на узлах обработки данных — если узел перестаёт корректно обрабатывать данные, то он исключается из списка балансировки.

Ускорители исполнения программного кода. Служат для повышения производительности, часто используемые ускорители для PHP: APC, eAccellerator, XCache.

Мониторинг и оповещения — системы, собирающие важные метрики производительности системы и сообщающие о проблемах.

Службы работы с электронной почтой. Позволяют осуществлять приём и отправку почты. Не рекомендуется на одной машине совмещать эти службы с размещением сайта, так как на активные почтовые домены поступает много писем (большая часть из которых спам), а их получение и обработка требуют как вычислительных мощностей сервера, так и загружают канал связи — всё это может вызывать замедление работы сайта. Эта рекомендация не касается почты на виртуальных хостингах, там размещение почты и сайтов осуществляется на разных серверах.

Рекомендации