С помощью существующего протокола единого входа OpenID Connect 2 страница



12.2. Балансировка нагрузки балансировщиками с помощью DNS.......................... 143

12.3.

 
Балансировка нагрузки в EC2................................................................................. 144

12.4. Синхронизация конфигурации............................................................... 145

12.5. Совместное использование состояния с помощью Zone Sync.......................... 148

Глава 13. Расширенный мониторинг активности.................................................. 150

13.0. Введение............................................................................................... 150

13.1. Активация модуля Stub Status с открытым исходным кодом................... 150

13.2. Активация инструментальной панели мониторинга NGINX Plus..................... 151

13.3. Сбор метрик с помощью API NGINX Plus............................................................. 153

Глава 14. Отладка и устранение неполадок с помощью журналов доступа, журналов ошибок и отслеживания запросов....................................................................................... 157

14.0. Введение............................................................................................... 157

14.1. Настройка журналов доступа.................................................................. 157

14.3. Отправка журналов в Syslog..................................................................................... 159

14.4. Трассировка запросов............................................................................ 161

Глава 15. Настройка производительности............................................................ 163

15.0. Введение............................................................................................... 163

15.1. Автоматизация тестов с помощью драйверов нагрузки........................... 163

15.2. Сохраняем подключения открытыми для клиентов................................. 164

15.3. Сохраняем подключения открытыми для вышестоящих серверов............. 165

15.4. Буферизация ответов............................................................................. 166

15.5. Буферизация журналов доступа.............................................................. 167

15.6. Настройка ОС........................................................................................ 168


Оглавление v 9

Глава 16. Советы по практической эксплуатации и заключение............................ 170

16.0. Введение............................................................................................... 170

16.1.

 
Использование директивы include для чистых настроек......................... 170

16.2. Отладка конфигураций.......................................................................... 171

16.3. Заключение........................................................................................... 173

Сведения об авторе............................................................................................ 174

Предметный указатель....................................................................................... 175

 

 

 


 

Предисловие от издательства

Отзывы и пожелания

 
Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об этой книге, – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые будут для вас максимально полезны.

Вы можете написать отзыв прямо на нашем сайте www.dmkpress.com, зайдя на страницу книги, и оставить комментарий в разделе «Отзывы и рецензии». Также можно послать письмо главному редактору по адресу dmkpress@gmail. com, при этом напишите название книги в теме письма.

Если есть тема, в которой вы квалифицированы, и вы заинтересова- ны в написании новой книги, заполните форму на нашем сайте по адресу http://dmkpress.com/authors/publish_book/ или напишите в издательство по адресу dmkpress@gmail.com.

Список опечаток

 
Хотя мы приняли все возможные меры для того, чтобы удостовериться в ка- честве наших текстов, ошибки все равно случаются. Если вы найдете ошибку в одной из наших книг – возможно, ошибку в тексте или в коде, – мы будем очень благодарны, если вы сообщите нам о ней. Сделав это, вы избавите других читателей от расстройств и поможете нам улучшить последующие версии этой книги.

Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о них главному редактору по адресу dmkpress@gmail.com, и мы исправим это в следую- щих тиражах.

Нарушение авторских прав

Пиратство в интернете по-прежнему остается насущной проблемой. Изда- тельства «ДМК Пресс» и O'Reilly очень серьезно относятся к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незакон- но выполненной копией любой нашей книги, пожалуйста, сообщите нам адрес копии или веб-сайта, чтобы мы могли применить санкции.

Пожалуйста, свяжитесь с нами по адресу электронной почты dmkpress@gmail. com со ссылкой на подозрительные материалы.

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


 

Предисловие

 
Добро пожаловать в обновленное издание «NGINX. Книга рецептов». Прошло почти два года, с тех пор как издательство O'Reilly опублико- вало первую версию книги. С того времени многое изменилось, кроме одного: каждый день все больше и больше сайтов по всему миру отдают предпочтение NGINX. Сегодня их 300 млн, почти вдвое больше, когда вышло первое издание.

Есть много причин, по которым использование NGINX набирает по-

 
пулярность спустя 14 лет после его появления. Это швейцарский армей- ский нож: NGINX может быть веб-сервером, балансировщиком нагруз- ки, кешировать контент и быть API-шлюзом. Но, возможно, еще более важным фактом является то, что он надежен.

Эта книга покажет вам, как получить максимальную отдачу от NGINX с открытым исходным кодом и NGINX Plus. Вы найдете свыше 150 стра- ниц, содержащих простые в использовании рецепты, охватывающие все от того, как правильно установить NGINX, настроить все основные функции до отладки и устранения неполадок.

Эта обновленная версия также включает в себя описание новых функ- ций с открытым исходным кодом, таких как поддержка gRPC, сервер активной доставки HTTP/2 и алгоритм балансировки нагрузки Random with Two Choices для кластерных сред, а также новые функции NGINX Plus, такие как поддержка совместного использования состояния, но- вый API NGINX Plus и хранилище типа ключ/значение. На этих страни- цах рассказывается почти все, что вам нужно знать о NGINX.

Мы надеемся, что вам понравится эта книга и она будет способство-

вать вашему успеху в создании и развертывании приложений, которые все мы используем.

 

Файсаль Меном, менеджер по маркетингу продукции, NGINX Inc.



Глава 1


 

 

Основы


1.0. Введение

 
Чтобы начать работу с NGINX с открытым исходным кодом или NGINX Plus, для начала необходимо установить их в системе и познакомиться с основами. В этой главе вы узнаете, как установить NGINX, где нахо- дятся основные файлы конфигурации и команды администрирования. Вы также узнаете, как проверить свою установку и выполнить запросы к серверу, установленному по умолчанию.

1.1. Установка на компьютер с Debian/Ubuntu

Задача

Вам необходимо установить NGINX с открытым исходным кодом на машине с Debian или Ubuntu.

Решение

Создайте файл с именем /etc/apt/sources.list.d/nginx.list следующего содержания:

deb http://nginx.org/packages/mainline/OS/ CODENAME nginx

deb-src http://nginx.org/packages/mainline/OS/ CODENAME nginx

Измените файл, заменив буквосочетание OS в конце URL-адреса на

ubuntu или debian в зависимости отдистрибутива. Замените слово CODENAME

на кодовое имя вашего дистрибутива: jessie или stretch, если это Debian, либо trusty, xenial, artful или bionic, если это Ubuntu. Затем выполните приведенные ниже команды:

wget http://nginx.org/keys/nginx_signing.key apt-key add nginx_signing.key


 

                                                1.2. Установка на компьютер с RedHat/CentOS    v 13

apt-get update

apt-get install -y nginx

/etc/init.d/nginx start

 

Обсуждение

 
Файл, который вы только что создали, инструктирует систему управ- ления пакетами apt использовать Официальный репозиторий паке- тов NGINX. С помощью следующих далее команд вы скачиваете ключ подписи пакета NGINX GPG и импортируете его в apt. Предоставление apt ключа подписи активирует систему, чтобы выполнить проверку пакетов из репозитория. Команда apt-get-update велит системе apt об- новить свои листинги пакетов из известных репозиториев. После об- новления списка пакетов вы можете установить NGINX Open Source из официального репозитория NGINX. После его установки последняя ко- манда запускает NGINX.

 

1.2.

 
Установка на компьютер с RedHat/CentOS

Задача

Вам необходимо установить NGINX с открытым исходным кодом на компьютер с RedHat или CentOS.

Решение

Создайте файл с именем /etc/yum.repos.d/nginx.repo следующего со- держания:

[nginx] name=nginx repo

baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/ gpgcheck=0

enabled=1

Измените файл, заменив буквосочетание OS в конце URL-адреса на

rhel или centos в зависимости от дистрибутива. Замените слово OSRELEASE

на цифру 6 или 7 для версии 6.x или 7.x соответственно. Затем выпол- ните приведенные ниже команды:

yum -y install nginx systemctl enable nginx


 

14 v Глава 1. Основы                                                                                          

 

systemctl start nginx

firewall-cmd --permanent --zone=public --add-port=80/tcp firewall-cmd –reload

 

Обсуждение

 
Файл, который вы только что создали, инструктирует систему управ- ления пакетами yum использовать Официальный репозиторий пакетов NGINX. С помощью следующих далее команд вы устанавливаете NGINX Open Source из Официального репозитория, сообщаете systemd акти- вировать NGINX во время загрузки и велите ей запустить его сейчас. Команды брандмауэра открывают порт 80 для протокола TCP, который является значением порта по умолчанию для HTTP. С помощью послед- ней команды вы выполняете перезагрузку брандмауэра для фиксации изменений.

 

1.3. Установка NGINX Plus

Задача                                                                 

Вам необходимо установить NGINX Plus.

Решение

Посетите страницу по адресу http://cs.nginx.com/repo_setup. В раскрыва- ющемся меню выберите устанавливаемую вами ОС и следуйте инструк- циям. Эти инструкции аналогичны инструкциям по установке решений с открытым исходным кодом; однако вам необходимо установить сер- тификат для аутентификации в репозитории NGINX Plus.

 

Обсуждение

NGINX постоянно обновляет данное руководство по установке ре- позитория с инструкциями по установке NGINX Plus. В зависимо- сти от вашей операционной системы и ее версии эти инструкции несколько отличаются, но есть кое-что общее. Вы должны войти на портал NGINX, чтобы скачать сертификат и ключ к вашей системе, которые используются для прохождения аутентификации в репози- тории NGINX Plus.


 

1.4. Проверка установки v 15

1.4. Проверка установки

Задача

 
Вам нужно оценить правильность установки NGINX и проверить вер- сию.

Решение

Вы можете убедиться, что NGINX установлен правильно и проверить его версию, используя приведенную ниже команду:

$ nginx -v

nginx version: nginx/1.15.3

Как показывает этот пример, в ответе отображается версия.

Можно подтвердить, что NGINX работает с помощью приведенной ниже команды:

 
$ ps -ef | grep nginx

root        1738  1 0 19:54 ? 00:00:00 nginx: master  process

nginx     1739 1738 0 19:54 ? 00:00:00 nginx: worker process

 

Команда ps выводит список запущенных процессов. Отправив его в grep, можно искать конкретные слова в выводе. В этом примере мы ис- пользуем grep для поиска nginx. Результат показывает два запущенных процесса, master и worker. Если NGINX запущен, вы всегда будете видеть главный процесс. Чтобы увидеть инструкции по запуску NGINX, см. сле- дующий раздел. Чтобы понять, как запустить NGINX в качестве демона, примените методологии init.d или systemd.

Чтобы убедиться, что NGINX возвращает запросы правильно, исполь-

зуйте свой браузер и отправьте запрос на ваш компьютер или восполь- зуйтесь командой curl:

$ curl localhost

Вы увидите страницу приветствия NGINX.

Обсуждение

Команда nginx позволяет взаимодействовать с двоичным файлом NGINX, чтобы проверить версию, вывести список установленных моду- лей, протестировать конфигурации и отправить сигналы в главный про- цесс. Чтобы обслуживать запросы, NGINX должен быть запущен. Команда


 

16 v Глава 1. Основы                                                                                             

ps – верный способ определить, работаетли NGINX в качестве демона или в приоритетном режиме. В исходной конфигурации, предоставляемой по умолчанию в NGINX, запускается HTTP-сервер статического сайта на порту 80. Этот сайт можно протестировать, отправив HTTP-запрос на компьютер на локальном хосте, а также на IP-адрес хоста и имя хоста.

1.5.

 
Ключевые файлы, команды и каталоги

Задача

Вам нужно разобраться в важных каталогах и командах NGINX.

Решение

Файлы и каталоги NGINX

/etc/nginx/

Каталог /etc/nginx/ является корневым каталогом конфигурации по умолчанию сервера NGINX. В этом каталоге вы найдете файлы конфигурации, которые инструктируют NGINX, как вести себя.

 
/etc/nginx/nginx.conf

Файл /etc/nginx/nginx.conf является точкой входа конфигурации по умолчанию, используемой службой NGINX. Этот файл конфигура- ции устанавливает глобальные параметры для таких вещей, как рабочий процесс, настройка, ведение журнала, загрузка динами- ческих модулей и ссылки на другие файлы конфигурации NGINX. В исходной конфигурации файл /etc/nginx/nginx.conf включает в себя блок http верхнего уровня, который содержит все файлы кон- фигурации в каталоге, описанном далее.

/etc/nginx/conf.d/

Каталог /etc/nginx/conf.d/ содержит файл конфигурации HTTP-сер-

вера по умолчанию. Файлы в этом каталоге, оканчивающиеся на

.conf, включены в блок http верхнего уровня из файла /etc/nginx/ nginx.conf. Рекомендуется использовать операторы include и упо- рядочивать свою конфигурацию таким образом, чтобы ваши файлы конфигурации были краткими. В некоторых репозиториях пакетов эта папка называется site-enabled, а файлы конфигурации связываются из папки с именем site-available; данная конвенция является устаревшей.


 

                                                     1.5. Ключевые файлы , команды и каталоги  v 17

/var/log/nginx/


Дата добавления: 2021-01-21; просмотров: 119; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!