научиться жить
Круг переднего плана всегда был очень новым, и мы должны продолжать учиться, и на пути к большому заводу также требуется знать базовый язык и так далее. Чтобы использовать шутку других, технология java десятилетней давности все еще может использоваться сейчас, но фронтенд-технология не такая.
Внезапно я вспомнил забавную проблему, когда проект deno был выпущен, «Пожалуйста, не обновляйте его, я больше не могу учиться». Хотя это кажется шуткой, это показывает усталость, которую приходится проявлять фронтенд-людям.Значения становятся все больше и больше, а содержание обучения становится все больше и больше.
Я также слышал, как некоторые друзья говорили, что если я возьму интервью у Эли сейчас, боюсь, попасть туда будет непросто. Конечно, многие из них — просто случайные шутки, после их прослушивания можно посмеяться, не нужно воспринимать это всерьез и не нужно жаловаться.
Что ж, давайте сегодня поговорим непосредственно о теме.Фронтенду необходимо понимать некоторое использование Nginx для эксплуатации и обслуживания.Обратный прокси и балансировка нагрузки
Что такое обратный прокси и балансировка нагрузки
Что такое обратный прокси
Когда у нас есть кластер серверов, и содержимое каждого сервера в кластере серверов одинаковое, то также невозможно получить доступ к серверу кластера серверов напрямую с персонального компьютера, и доступ к кластеру должен осуществляться через сторонний сервер
В настоящее время мы получаем доступ к содержимому кластера серверов через сторонний сервер, но мы не знаем, какой сервер предоставляет содержимое.Этот метод прокси называетсяобратный прокси
Что такое балансировка нагрузки
Компания построит много серверов, эти серверы образуют кластер серверов, а затем, когда пользователь обращается к веб-сайту, он сначала обращается к промежуточному серверу, а затем позволяет промежуточному серверу выбрать менее загруженный сервер в кластере серверов, и затем получите доступ к запросу на импорт выбранного сервера
Следовательно, каждый раз, когда пользователь получает доступ, это гарантирует, что нагрузка на каждый сервер в кластере серверов будет сбалансирована, разделяя нагрузку на сервер и избегая ситуации сбоя сервера.
В одном предложении:Nginx назначит вам меньшую нагрузку на сервер для доступа
Внедрение обратного прокси Nginx и балансировки нагрузки
Когда пользователь обращается к веб-сайту, он сначала обращается к серверу nginx, а затем сервер nginx выбирает менее загруженный сервер из кластера серверов и направляет запрос на доступ к серверу.
конфигурация nginx
Что касается изменения конфигурации ниже, я дам простую демонстрацию из системы Mac. Если вы хотите установить ее, пока она будет основана на Mac. Система Windows может перейти непосредственно на официальный сайт Nginx для загрузки. и установить.
安装nginx
1-进到homebrew官网,然后复制命令,预安装需要的东西
2-brew install nginx 安装nginx
3-nginx -v 显示版本号
进入nginx
cd /usr/local/etc/nginx
На следующем рисунке показано содержимое файлов в папке nginx.
Когда мы войдем в этот каталог, мы сможем работать с nginx.Далее мы перечислим некоторые очень и очень полезные команды.Стукните несколько раз и запомните.общие команды nginx
- запустить nginx
- nginx
- Когда вы закончите вводить 5 ключей nginx, ответа нет.В это время вам нужно только посетить localhost: 8080 (по умолчанию)
- закрыть nginx
- Если появится следующая картина, не паникуйте, так как nginx уже запускался
- только чтоnginx -s stop, остановите службу nginx
- Затем снова запустите nginx
- перезапустить nginx
- nginx -s reload
- Вам нужно перезапускать nginx каждый раз, когда вы изменяете файл .conf
- Проверить конфигурацию
- Проверьте правильность измененной конфигурации nginx.conf.
- nginx -t
- Если появятся следующие ok и Successl, значит, это правильно, а остальные нет.
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Чтобы наш фронтенд работал нормально, не нужно слишком сильно модифицировать nginx. Причина, по которой мы изменяем конфигурацию nginx, заключается в том, чтобы выполнить обратное проксирование.
proxy_pass
Обратный прокси NGINX в основном сконфигурирован через Proxy_Pass. Заполните адрес машины разработки вашего проекта за Proxy_Pass. Нормальный формат представляет собой URL-адрес Proxy_Pass.
server {
listen 80;
location / {
proxy_pass http://10.10.10.10:20186;
}
}
Вверх по течению модули для достижения балансировки нагрузки
- директива ip_hash
- команда сервера
- восходящие директивы и связанные переменные
Три инструкции, написанные выше, мы непосредственно разбираем их по очереди через код
// 修改nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream firstdemo {
server 39.106.145.33;
server 47.93.6.93;
}
server {
listen 8080;
location / {
proxy_pass http://firstdemo;
}
}
}
Модифицированный выше nginx.conf — это файл в венке на рисунке выше, а основная модификация конфигурации nginx находится здесь. Упростите сложность и напрямую замените содержимое исходного nginx.conf приведенным выше кодом менее чем в 20 строк.
Поскольку строк меньше 20, пожалуйста, объясните все соответствующее содержание в нем.Хорошо иметь понимание.
- worker_processes
- Количество рабочих процессов, равное количеству ядер ЦП
- worker_connections
- Максимальное количество подключений, разрешенных для каждого процесса
- восходящий модуль
- Балансировка нагрузки зависит от этого
- Формат синтаксиса: восходящее имя {}
- Два сервера, написанные в нем, соответствуют разным серверам соответственно.
- серверный модуль
- Реализовать обратный прокси
- слушать номер порта монитора
- location/{} доступ к корневому пути
- proxy_pass http://firstdemo, прокси для двух серверов в firstdemo
После изменения nginx.conf выше не забудьте самый важный шаг — перезапустить nginx.
Затем снова посетите localhost:8080, вы увидите следующую страницу.
есть еще одна страница Каждое обновление попадает на другой сервер, так что это делает этоБалансировка нагрузкииметь дело сОднако следует сделать так, чтобы после того, как пользователь обращается к одному из серверов в первый раз, в следующий раз, когда он обращается к серверу, он мог получить прямой доступ к серверу, и нет необходимости постоянно менять его. Затем проявляется мощь ip_hash.
// 省略...
upstream firstdemo {
ip_hash;
server 39.106.145.33;
server 47.93.6.93;
}
Функция ip_hash заключается в том, что если к серверу обращаются в первый раз, то это будет записано, а затем к серверу будет обращение снова, например, если первое обращение к серверу 33, то последующее обращение также будет назначен на 33 сервер.
Простое использование на работе
Когда компания разрабатывает проект, когда дело доходит до дизайна и прохождения продукта, им нельзя каждый раз назначать ведущего, ведь пройтись недружелюбно и хлопотно. Следовательно, им нужно дать интуитивное ощущение, и они могут увидеть внешний вид, дав им адрес доступа.
Давайте посмотрим на следующее: конфигурация обратного прокси, которую nginx делал, когда я был в компании, была точно такой же, как у нас выше, за исключением того, что для доступа к нему с указанным доменным именем было добавлено имя_сервера.
server {
listen 80;
server_name chd.news.so.m.qss.test.so.com ;
auth_basic off;
location / {
proxy_pass http://10.10.10.10:20186;
proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60;
proxy_read_timeout 600;
proxy_send_timeout 600;
}
}
Не забудьте перезапустить nginx, чтобы он вступил в силу каждый раз после изменения конфигурации nginx, поэтому вам нужно всего лишь посетить адрес chd.news.so.m.qss.test.so.com, чтобы просмотреть мою среду разработки и провести прогулку. -через.
Это самая большая функция nginx.Я мало общаюсь с обратными прокси.В конце концов,я не профессионал в области эксплуатации и сопровождения,и сопоставимость намного хуже. Я немного знаю, но просто всем удобно использовать его на работе, еще раз спасибо за просмотр, ха-ха