Эта статья призвана рассказать самые скучные базовые знания на самом популярном языке.
Nginx как высокопроизводительный веб-сервер, я хочу, чтобы все были желанны, он готов учиться, я хочу учиться, у меня не так много грамматики, и у меня много онлайн. Ниже блоггер рассказал и проанализировал несколько функций Nginx, изучить эти функции, обычная разработка и развертывание не проблема. Поэтому я надеюсь, что после прочтения я смогу установить NGINX, чтобы изучить тест конфигурации, чтобы я действительно мог его понять. Впереди высокая энергия, в конце текста благополучие.
Схема статьи:
прямой прокси
обратный прокси
Прозрачный прокси
балансировки нагрузки
статический сервер
установка нгинкс
небольшой бонус
прямой прокси
Прямой прокси: поведение, при котором сервер интрасети активно запрашивает услуги из внешней сети.
Только взглянув на понятия, некоторые читатели могут еще не понять: что такое «форвард» и что такое «агент», давайте разберемся в этих двух терминах по отдельности.
Положительный: то же или последовательное направление Свобода воли: доверять другим или полагаться на них в выполнении дел, которые вы не можете сделать сами или не собираетесь делать сами.
С помощью пояснений, возвращаясь к понятию nginx, прямой прокси фактически означает, что клиент не может активно или не намерен завершить инициативу по инициированию запроса к серверу, но поручает прокси-серверу nginx инициировать запрос на сервер, получает результат обработки и возвращает его клиенту. Как видно из рисунка ниже:Запрос, инициированный клиентом на целевой сервер, инициируется прокси-сервером вместо него к целевому хосту, и после получения результата он возвращается к клиенту через прокси-сервер.
Возьмите каштан: большинство социалистических преемников знают, что для защиты цветов родины от смога из внешнего мира государство произвело некоторые "оптимизации" в сети.Без помощи поисковых систем, таких как Google, код экстази также потеряет свой цвет.Поэтому в Интернете были некоторые технологии и программное обеспечение fan qiang для нуждающихся людей, такие как VPN и т. д. Фактически, принцип VPN в основном тот же. прямой прокси, то есть компьютер, которому требуется доступ к внешней сети, инициирует запрос на доступ к внешней сети и использует VPN на машине для поиска прокси-сервера, который может получить доступ к иностранным веб-сайтам.Прокси-сервер инициирует запрос на иностранный веб-сайт, а затем верните результат в машину.
listen: порт сервера интрасети, который активно инициирует запросы
proxy_pass: протокол и адрес прокси-сервера.
обратный прокси
Обратный прокси: обратный прокси-сервер относится к использованию прокси-сервера для приема запроса от клиента, а затем переадресации запроса на вышестоящий сервер в интрасети.После того, как вышестоящий сервер обрабатывает его, он возвращает результат клиенту через nginx. .
Принцип форвард-прокси описан выше, думаю, что для реверс-прокси все понятно. Обратный прокси-сервер должен принять запрос из внешнего мира сначала через nginx, а затем перенаправить его на сервер в интранете по мере необходимости и вернуть запрос на обработку внешнему клиенту.Клиент не знает о существовании " вышестоящий сервер" вообще.
Например: у сервера есть только один порт 80, и на сервере может быть несколько проектов.Если порт проекта A — 8081, порт проекта B — 8082, а проект C — 8083, предполагается, что доменное имя указание на сервер — www.xxx.com, доступ к проекту B в это время — www.xxx.com:8082 и т. д., к URL-адресам других проектов также нужно добавлять номер порта, что очень некрасиво , В это время мы даем порт 80 серверу nginx и даем каждому проекту присвоенное независимое имя поддомена, например, проект A — это a.xxx.com, а конфигурация пересылки каждого проекта устанавливается в nginx, и затем доступ ко всем проектам принимается сервером nginx, а затем перенаправляется на другую обработку сервера. Конкретный процесс показан на следующем рисунке:
Таким образом, вы можете получить доступ к веб-сайту, соответствующему проекту, через a.xxx.com, без необходимости указывать уродливый номер порта. Ключевые моменты настройки обратного прокси:
server_name: представляет доменное имя, введенное, когда клиент инициирует запрос к серверу.
proxy_pass: представляет адрес доступа исходного сервера, то есть сервера, который фактически обрабатывает запрос (localhost + номер порта).
3. Прозрачный прокси
Прозрачный прокси: также известный как простой прокси, что означает, что когда клиент инициирует запрос на сервер, запрос сначала достигнет прозрачного прокси-сервера, а прокси-сервер пересылает запрос на сервер реального источника для обработки, что Является ли клиент не знает, что вообще наличие прокси-сервера.
Для каштана: его использование чем-то похоже на перехватчик, например, определенную строгую систему офисного компьютера компании, используем ли мы компьютер для чего-то, службы безопасности могут перехватить все, что мы отправляем, это потому, что компьютер, когда он отправляет выход, по сути, идет через прозрачный сервер в сеть, после его обработки, только потом выходит из сети, и когда мы выходим в интернет, там не воспринимается перехватчик, перехватывающий наши данные и информацию.
Некоторые люди говорят, что прозрачный прокси-сервер немного похож на обратный прокси-сервер в том смысле, что прокси-сервер сначала принимает запрос, а затем перенаправляет его на исходный сервер. На самом деле есть разница по сути.Прозрачный прокси означает, что клиент не может воспринимать существование прокси-сервера, а обратный прокси означает, что клиент воспринимает существование только одного прокси-сервера.Поэтому один из них скрывает себя а другой скрывает исходный сервер. По сути, прозрачный прокси и прямой прокси похожи, оба инициируются клиентом, а обрабатывает их прокси-сервер; разница между ними в том, что прямой прокси — это прокси-сервер, а не клиентский запрос, а прозрачный прокси — это прокси-сервер. клиент инициирует запрос.Когда запрос сделан, он сначала проходит через прозрачный прокси-сервер, а затем достигает сервера.Во время этого процесса клиент не может воспринимать прокси-сервер.
4. Балансировка нагрузки
Балансировка нагрузки. Процесс распределения запросов, полученных сервером, в соответствии с правилами называется балансировкой нагрузки. Балансировка нагрузки — это проявление обратного прокси.
Возможно, большинство веб-проектов, с которыми люди вступают в контакт, вначале выполняются с одним сервером, но когда трафик веб-сайта увеличивается, один сервер не может с этим справиться. В настоящее время необходимо увеличить сервер для создания Кластер используется для распределения трафика, и когда эти серверы настроены, nginx выступает в роли получателя трафика и отвода трафика.Когда запрос делается на сервер nginx, nginx может распределять запрос по разным серверов в соответствии с установленной информацией о нагрузке.После того, как сервер завершает обработку, nginx получает результат обработки и возвращает его клиенту.Таким образом, балансировка нагрузки может быть достигнута за счет использования обратного прокси nginx.
В nginx есть несколько режимов для реализации балансировки нагрузки:
Опрос: каждый запрос выделяется на разные бэкэнд-серверы один за другим в хронологическом порядке, который также является режимом по умолчанию Nginx. Конфигурация режима опроса очень проста, просто добавьте список серверов в модуль вверх по течению.
Следующая конфигурация относится к:В нагрузке три сервера, при поступлении запроса nginx распределяет запрос на три сервера для обработки в хронологическом порядке.
1upstream serverList { 2 server 1.2.3.4; 3 server 1.2.3.5; 4 server 1.2.3.6; 5}
ip_hash: каждый запрос распределяется в соответствии с результатом хеширования IP-адреса доступа, и один и тот же IP-клиент постоянно обращается к внутреннему серверу. Это может гарантировать, что запросы с одного и того же IP-адреса отправляются на фиксированную машину, что может решить проблему сеанса.
Следующая конфигурация относится к:В нагрузке три сервера, при поступлении запроса nginx преимущественно распределяет его по результату ip_hash, то есть запрос одного и того же IP фиксируется на определенном сервере, а остальные запросы распределяются на три сервера в хронологический порядок обработки.
1upstream serverList { 2 ip_hash 3 server 1.2.3.4; 4 server 1.2.3.5; 5 server 1.2.3.6; 6}
url_hash: запрос распределяется в соответствии с результатом хеширования URL-адреса, к которому осуществляется доступ, и тот же URL-адрес постоянно перенаправляется на один и тот же внутренний сервер для обработки.
1upstream serverList { 2 server 1.2.3.4; 3 server 1.2.3.5; 4 server 1.2.3.6; 5 hash $request_uri; 6 hash_method crc32; 7}
справедливо: запросы распределяются в соответствии со временем отклика внутреннего сервера, и приоритет отдается тем, у кого короткое время отклика.
1upstream serverList { 2 server 1.2.3.4; 3 server 1.2.3.5; 4 server 1.2.3.6; 5 fair; 6}
В каждом режиме параметры, которые могут быть переданы за каждым сервером:
down: текущий сервер временно не участвует в нагрузке
вес: вес, чем больше значение, тем больше нагрузка на сервер.
max_fails: количество отказов запросов, по умолчанию 1.
fail_timeout: время паузы после сбоев max_fails.
резервное копирование: Резервная машина, только когда все другие машины, не являющиеся резервными, отключены или заняты, будет запрашивать резервную машину.
Следующая конфигурация относится к:В нагрузке три сервера, при поступлении запроса nginx распределяет запрос на три сервера для обработки в хронологическом порядке и весе, например, если запросов 100, 30% запросов обрабатывает сервер 4, а 50% запросов обрабатывает сервер 5. 20% запросов обрабатывает сервер 6.
1upstream serverList { 2 server 1.2.3.4 weight=30; 3 server 1.2.3.5 weight=50; 4 server 1.2.3.6 weight=20; 5}
Следующая конфигурация относится к:В нагрузке три сервера, таймаут отказа 4-го сервера 60с, 5-й сервер в нагрузке пока не участвует, 6-й сервер используется только как резервная машина.
1upstream serverList { 2 server 1.2.3.4 fail_timeout=60s; 3 server 1.2.3.5 down; 4 server 1.2.3.6 backup; 5}
Ниже приведен пример настройки балансировки нагрузки (написана только конфигурация ключа): в:
upstream serverList — это конфигурационный модуль нагрузки
server_name — адрес доменного имени, запрошенный клиентом
proxy_pass — это модуль, указывающий на список полезной нагрузки.
В настоящее время во многих проектах популярно разделение front-end и back-end, то есть front-end сервер и back-end сервер разделены и развернуты отдельно, что позволяет front-end и back-end персоналу выполнять свои обязанности. без необходимости зависеть друг от друга.При разделении фронта и бэка работа фронтенд проектов не Tomcat, требуется Apache и другие серверные среды, поэтому nginx можно использовать напрямую как статический сервер.
Конфигурация статического сервера следующая, среди которых ключевая конфигурация:
root: корневой каталог абсолютного пути прямого статического проекта.
server_name : адрес доменного имени статического веб-сайта.
Узнав так много о настройке и использовании nginx, нам нужно проверить каждую точку знаний, чтобы быть впечатленными. Перед этим нам нужно знать, как установить nginx. Давайте возьмем среду Linux в качестве примера, чтобы кратко описать, как установить nginx. в yum Шаг:
После выполнения этих шагов мы можем войти в файл конфигурации nginx nginx.conf, чтобы настроить и проверить вышеуказанные знания.
Небольшое благополучие:
Некоторые люди говорят, что они, кажется, все здесь понимают, но нет Linux, чтобы проверить его. На самом деле Nginx также имеет версию Windows. Конечно, версия Windows не используется в реальных проектах, потому что серверы веб-проектов. Все ли Linux, поэтому вы можете установить виртуальную машину на свой собственный компьютер, а затем установить Linux для воспроизведения, но если вы хотите применить то, что вы узнали, и он ближе к производственной среде проекта компании, автор Рекомендует, чтобы вы купите облачных серверов самостоятельно, чтобы узнать, просто так происходит, что облако Alibaba имеет двойное Eleven Event, и один сервер требуется только90 юанейОдин год, это очевидная шерстяная деятельность, у вас есть сердце, чтобы сдаться?
Вы тратите более 90 долларов на установку виртуальных машин и систем Linux! Вы когда-нибудь думали о том, чтобы однажды загрузить свой собственный код на сервер вручную? У вас было видение построить и поддерживать свой собственный личный блог? Вы пробовали это от выпуска проекта до доступа к разрешению доменного имени ко всему процессу? …. Если нет, то я предлагаю вам купить один:
Вы также можете отсканировать QR-код, чтобы купить напрямую:
------------фокус----------------
Внимание! ! ! После того, как вы укажете ссылку для регистрации покупки, облако Ali теперь вернется к блогеру, большое спасибо за любовь ко всем блогерам, которые решили вернуть вам деньги, поэтому те, кто покупает новую регистрацию пользователя, пожалуйста, Габор главный V ( sisi -ceo) Обратитесь к блогерам, после проверки блоггеров вам вернут деньги в виде красных конвертов, чтобы вы упустили самую низкую цену на покупку сервера, можете узнать больше вещей! ! !
(Старые пользователи и другие ссылки для регистрации и покупки большие, блоггеры не могут получить кэшбэк, поэтому эти блоггеры ничего не могут сделать~~~)
Думаете, эта статья была вам полезна? пожалуйста, поделитесь с большим количеством людей Обратите внимание на «Безграничное программирование» и улучшите свои навыки принуждения.