Администрирование сервера NGINX Год издания: 2015 Автор: Айвалиотис Димитрий Издательство: ДМК Пресс ISBN: 978-5-94074-162-4 Язык: Русский Формат: PDF Качество: Издательский макет или текст (eBook) Интерактивное оглавление: Да Количество страниц: 289 Описание: NGINX – это высокопроизводительный сервер, который реализует функции прокси для веб-серверов и почтовых серверов и потребляет очень мало системных ресурсов. В Интернете хватает руководств по его настройке и примеров конфигураций, но при этом трудно понять, как правильно настроить NGINX для конкретных нужд. Эта книга расчистит мутные воды конфигурирования NGINX и научит вас настраивать его для решения различных задач. Попутно вы узнаете, что означают некоторые покрытые мраком параметры, и поймете, как разработать конфигурацию, отвечающую именно вашим целям. Вначале дается краткий обзор процедуры компиляции NGINX и описывается формат конфигурационного файла. Затем автор переходит к модулям и рассказывает о многочисленных настройках, позволяющих использовать NGINX в качестве обратного прокси-сервера. Завершается книга обсуждением поиска и устранения неполадок. Издание предназначено для системных администраторов или инженеров, имеющих опыт эксплуатации веб-серверов.
Примеры страниц
Оглавление
Об авторе ............................................................................. 10 О рецензентах .................................................................... 11 Предисловие ....................................................................... 14 Глава 1. Установка NGINX и сторонних модулей ...................... 19 Установка NGINX с помощью менеджера пакетов .................... 19 CentOS ............................................................................... 20 Debian ................................................................................. 21 Сборка NGINX из исходного кода ............................................. 21 Подготовка среды для сборки ............................................. 22 Компиляция исходного кода ............................................... 22 Настройка для работы в качестве веб-сервера или почтового сервера .......................................................... 24 Параметры configure для почтового прокси-сервера ................. 24 Параметры configure для определения путей ............................ 25 Включение модулей ................................................................ 26 Отключение неиспользуемых модулей ...................................... 28 Поиск и установка сторонних модулей .................................... 30 Полный пример ....................................................................... 31 Резюме ................................................................................... 32 Глава 2. Руководство по настройке ......................................... 33 Основы формата конфигурационного файла ........................... 33 Глобальные конфигурационные параметры NGINX .................. 34 Включаемые файлы .............................................................. 35 Секция с описанием HTTP-сервера ......................................... 36 Клиентские директивы ........................................................ 36 6 Содержание Директивы, относящиеся к вводу-выводу ........................... 38 Директивы, относящиеся к хэш-таблицам .......................... 39 Директивы, относящиеся к сокетам .................................... 40 Пример конфигурации ........................................................ 40 Секция с описанием виртуального сервера ............................. 41 Местоположения – где, когда и как .......................................... 45 Секция с описанием почтового сервера .................................. 48 Полный пример конфигурации ................................................ 49 Резюме ................................................................................... 50 Глава 3. Почтовый модуль ........................................................ 51 Простая служба проксирования .............................................. 51 Служба POP3 ...................................................................... 53 Служба IMAP ....................................................................... 54 Служба SMTP ...................................................................... 55 Использование SSL/TLS ..................................................... 56 Полный пример конфигурации почтового модуля ...................... 58 Служба аутентификации .......................................................... 60 Использование в связке с memcached ..................................... 67 Интерпретация журналов ........................................................ 70 Ограничения операционной системы ...................................... 72 Резюме ................................................................................... 73 Глава 4. NGINX как обратный прокси-сервер ........................... 75 Введение в технологию обратного проксирования ....................... 76 Модуль proxy ........................................................................... 77 Унаследованные серверы с куками ........................................... 81 Модуль upstream .................................................................... 82 Кэширование соединений ........................................................ 83 Алгоритмы балансировки нагрузки ......................................... 84 Типы проксируемых серверов ................................................. 85 Единственный проксируемый сервер ...................................... 85 Несколько проксируемых серверов ....................................... 86 Проксируемые серверы, работающие по протоколу, отличному от HTTP .............................................................. 87 Проксируемые серверы memcached .............................. 88 Проксируемые серверы FastCGI ..................................... 88 Проксируемые серверы SCGI ......................................... 89 Проксируемые серверы uWSGI ....................................... 89 Содержание 7 Преобразование конфигурации с «if» в более современную форму ..................................................................................... 89 Использование документов с описанием ошибок для обработки ошибок проксирования .................................... 93 Определение истинного IP-адреса клиента ............................. 94 Резюме ................................................................................... 95 Глава 5. Обратное проксирование, дополнительные вопросы ........................................................ 97 Безопасность за счет разделения ........................................... 98 Шифрование трафика по протоколу SSL ............................. 98 Аутентификация клиентов по протоколу SSL ..................... 100 Блокирование трафика на основе IP-адреса отправителя ..................................................... 103 Обеспечение масштабируемости за счет изоляции компонентов приложения ...................................................... 105 Оптимизация производительности обратного прокси-сервера .................................................................... 108 Буферизация .................................................................... 108 Кэширование .................................................................... 111 Сохранение ......................................................................... 116 Сжатие .................................................................................. 117 Резюме ................................................................................. 120 Глава 6. NGINX как HTTP-сервер ............................................. 121 Архитектура NGINX ................................................................ 121 Базовый модуль HTTP ........................................................... 122 Директива server .............................................................. 123 Протоколирование ........................................................... 124 Поиск файлов ................................................................... 127 Разрешение имен ............................................................. 129 Взаимодействие с клиентами .............................................. 131 Установка предельных значений для предотвращения недобросовестного использования ....................................... 133 Ограничение доступа .......................................................... 136 Потоковая передача мультимедийных файлов ...................... 140 Предопределенные переменные ........................................... 141 Использование NGINX совместно с PHP-FPM ........................... 143 Пример конфигурации для Drupal .......................................... 147 8 Содержание Интеграция NGINX и uWSGI .................................................... 152 Пример конфигурации для Django ........................................... 153 Резюме ................................................................................. 155 Глава 7. NGINX для разработчика .......................................... 156 Интеграция с механизмом кэширования ............................... 156 Приложения без кэширования ............................................ 157 Кэширование в базе данных ............................................... 158 Кэширование в файловой системе ...................................... 161 Динамическое изменение содержимого ............................... 164 Модуль addition ................................................................. 164 Модуль sub ....................................................................... 165 Модуль xslt......................................................................... 166 Включение на стороне сервера ............................................. 167 Принятие решений в NGINX ................................................... 170 Создание безопасной ссылки ................................................. 173 Генерация изображений ........................................................ 174 Отслеживание посетителей сайта ........................................... 178 Предотвращение случайного выполнения кода ........................ 179 Резюме ................................................................................. 180 Глава 8. Техника устранения неполадок .................................. 181 Анализ журналов ................................................................... 181 Форматы записей в журнале ошибок ...................................... 181 Примеры записей в журнале ошибок ..................................... 183 Настройка расширенного протоколирования ........................ 186 Отладочное протоколирование .......................................... 186 Переключение двоичного файла во время выполнения ....... 186 Использование журналов доступа для отладки ................... 193 Типичные ошибки конфигурирования ................................ 194 Использование if вместо try_files ....................................... 195 Использование if для ветвления по имени хоста ............... 196 Неоптимальное использование контекста server .............. 196 Ограничения операционной системы ............................... 198 Ограничение на количество файловых дескрипторов ....... 198 Сетевые лимиты ............................................................... 200 Проблемы с производительностью ....................................... 201 Использование модуля Stub Status ........................................ 203 Резюме ................................................................................. 204 Содержание 9 Приложение A. Справочник директив ..................................... 205 Приложение B. Руководство по правилам переписывания ..................................................................... 254 Введение в модуль rewrite ..................................................... 254 Создание новых правил переписывания ................................ 259 Преобразование правил из формата Apache ......................... 261 Рекомендация 1: заменить проверки существования каталогов и файлов директивой try_files ............................ 261 Рекомендация 2: заменить сравнение с REQUEST_URI секцией location ................................................................ 262 Рекомендация 3: заменить сравнение с HTTP_ HOST секцией server .................................................................. 263 Рекомендация 4: заменить RewriteCond проверкой переменной в директиве if .................................................... 264 Резюме ................................................................................. 265 Приложение С. Сообщество NGINX .......................................... 266 Список рассылки ................................................................... 266 IRC-канал .............................................................................. 266 Веб-ресурсы ......................................................................... 267 Как правильно составить отчет об ошибке .............................. 267 Резюме ................................................................................. 268 Приложение D. Сохранение сетевых настроек в Solaris .............................................................................. 269 Предметный указатель .......................................................... 272
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum