Nginx. Балансировщик HTTP соединений по нескольким машинам-бэкендам
Версия от 21:52, 9 апреля 2022; Cless (обсуждение | вклад)
Предварительные требования
Создаем 2 машины с веб-сервами nginx и доступом по http
http://192.168.199.100
http://192.168.199.200
Настройка
Настраиваем машину-балансировщик 192.168.199.50
yum install -y epel-release
yum install -y nginx php-fpm
nano /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 2048;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
client_max_body_size 128m;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 10;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon application/vnd.ms-fontobject font/opentype application/x-font-ttf;
gzip_vary on;
gzip_proxied any;
gzip_disable msie6;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/vhosts/*.conf;
###
# НАС ИНТЕРЕСУЕТ ЭТА СЕКЦИЯ ДЛЯ СОЗДАНИЯ БАЛАНСИРОВКИ
###
upstream backend1 {
server 192.168.199.100;
server 192.168.199.200;
}
server {
listen 80;
location / {
proxy_pass http://backend1;
}
}
}
systemctl start nginx
systemctl enable nginx
Проверка
# на http://192.168.199.50 - попадаем на один из серверов
# обновляем страницу - попадаем на другой сервер