Это сообщение от Карана Малхи из блога Mulesolft.
Nginx (произносится как «движок X») — это HTTP и обратный прокси-сервер. Он хорошо известен своей высокой производительностью и стабильностью. Это довольно многофункциональный и очень простой в настройке. Nginx размещает около 12,18 процентов (22,2 млн.) Активных сайтов во всех доменах. Nginx использует управляемую событиями архитектуру для обработки запросов. По сравнению с моделью «поток-на-запрос» управляемая событиями возможность масштабирования с низким и предсказуемым объемом памяти.
Nginx очень легко настроить в качестве балансировщика нагрузки для фермы Apache Tomcat . В этой записи блога я покажу вам, как настроить балансировщик нагрузки для двух серверов Apache Tomcat .
Сначала вам нужно установить Nginx, вы можете найти инструкции по установке здесь . Если вы на Mac, то вы можете использовать Homebrew
brew install nginx
После установки, вы можете запустить его с помощью Nginx команды
sudo nginx
Теперь вы можете проверить установку, открыв следующий URL в браузере:
http://localhost:8080
Позволяет изменить порт 8080 по умолчанию на порт 80. Это можно сделать в файле nginx.conf, который по умолчанию находится в /usr/local/etc/nginx/nginx.conf. Сначала остановите nginx:
sudo nginx -s stop
Теперь откройте файл nginx.conf и найдите атрибут listen сервера . Измените значение с 8080 на 80. Вот где я сделал изменение в моей конфигурации:
server { listen 80; server_name localhost;
Сохраните файл и запустите nginx. Теперь вы сможете проверить изменение конфигурации, посетивhttp://localhost
Установите два экземпляра Apache Tomcat . Откройте их файлы server.xml и измените номера портов HTTP на 8080 и 8081 соответственно. Вы можете найти больше информации о конфигурации Apache Tomcat здесь . После того, как вы внесли изменения и сохранили файлы конфигурации, вы должны запустить каждый экземпляр Apache Tomcat. Вот несколько способов запустить Apache Tomcat. Как правило, вы должны быть в состоянии найти каталог bin внутри вашей установки Tomcat и вызвать файл startup.sh, как показано:
bin/startup.sh
Теперь, когда запущены экземпляры Tomcat, давайте настроим балансировщик нагрузки в циклическом режиме. Вы должны будете использовать вышестоящий модуль Nginx . Модуль upstream позволяет группировать серверы, на которые может ссылаться директива proxy_pass . В вашем nginx.conf найдите блок http и добавьте блок upstream, чтобы создать группу серверов:
http { upstream tomcat_servers{ ip_hash; server 127.0.0.1:8080; server 127.0.0.1:8081; }
Приведенный выше ip_hash настраивает
метод балансировки нагрузки, при котором запросы направляются на серверы на основе IP-адресов клиента, поэтому запрос от клиента с определенным IP-адресом всегда будет направляться на один и тот же внутренний сервер Tomcat.
Наконец, вам нужно найти блок местоположения в блоке сервера и сопоставить корневое (/) местоположение с группой tomcat_servers, созданной с использованием вышеприведенного модуля выше.
location / { proxy_pass http://tomcat_servers; }
Это оно!. Перезапустите Nginx, и теперь вы сможете отправить запрос на http: // localhost, и запрос будет обслуживаться одним из серверов Tomcat.