Nginx
Высокопроизводительный веб-сервер и reverse proxy
Reverse Proxy - Визуализация
🌐
Client
Отправляет запросы
⚡
Nginx
Reverse Proxy
🖥️
Backend Servers
3 сервера
Последние запросы:
Нажмите кнопку, чтобы отправить запрос
Что такое Nginx?
Nginx — это высокопроизводительный HTTP-сервер и reverse proxy, а также почтовый прокси-сервер.
Разработан Игорем Сысоевым в 2004 году. Известен своей высокой производительностью, стабильностью и низким потреблением ресурсов.
Ключевые возможности
- •Reverse proxy с кэшированием
- •Load balancing (балансировка нагрузки)
- •SSL/TLS терминация
- •Статический контент
Сценарии использования
Reverse Proxy
Проксирование запросов к backend-серверам с кэшированием и балансировкой нагрузки
Load Balancer
Распределение трафика между несколькими серверами для повышения отказоустойчивости
Static Server
Быстрая отдача статических файлов: HTML, CSS, JS, изображения
Load Balancer - Демонстрация
Алгоритм балансировки:
Server 1
✓
Нагрузка0%
Запросов0
Server 2
✓
Нагрузка0%
Запросов0
Server 3
✓
Нагрузка0%
Запросов0
Round Robin: Запросы распределяются по очереди
Least Connections: Запрос идёт на сервер с наименьшим числом подключений
IP Hash: Один клиент всегда попадает на один и тот же сервер
Least Connections: Запрос идёт на сервер с наименьшим числом подключений
IP Hash: Один клиент всегда попадает на один и тот же сервер
Nginx Config Builder
Generated Config:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html index.htm;
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml;
location / {
try_files $uri $uri/ =404;
}
# Security headers
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
# Logs
access_log /var/log/nginx/example.com_access.log;
error_log /var/log/nginx/example.com_error.log;
}Основные команды
# Запуск Nginx
sudo systemctl start nginx
sudo systemctl start nginx
# Перезагрузка конфигурации
sudo nginx -s reload
sudo nginx -s reload
# Проверка конфигурации
sudo nginx -t
sudo nginx -t
# Остановка Nginx
sudo systemctl stop nginx
sudo systemctl stop nginx
# Статус сервиса
sudo systemctl status nginx
sudo systemctl status nginx
# Просмотр логов
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/access.log