LinuxАдминистрирование

Nginx: установка, базовая настройка, reverse proxy, TLS и диагностика

Nginx можно использовать как обычный веб-сервер, reverse proxy, TLS-терминатор и балансировщик. Для большинства production-сценариев лучше устанавливать пакет из поддерживаемого репозитория, а не собирать сервер вручную без необходимости.

Проверка конфигурации

sudo nginx -t

После успешной проверки применяйте изменения без жёсткой остановки сервиса:

sudo systemctl reload nginx
Проверка конфигурации Nginx

Минимальный server block

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }
}

Reverse proxy

location /api/ {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

TLS

Для публичного сайта используйте доверенный сертификат и современные TLS 1.2/1.3. Самоподписанный сертификат уместен лишь в закрытой тестовой среде.

Логи

tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

502 Bad Gateway

Обычно означает, что Nginx не получил корректный ответ от upstream. Проверяйте сам backend, сокет/порт, firewall, DNS upstream и таймауты.

Ошибка 502 Bad Gateway в Nginx

404 Not Found

Проверяйте root/alias, location, права доступа и фактический путь к файлу. При proxy-сценарии 404 может возвращать и само приложение.

Полезные команды

nginx -V
nginx -T
systemctl status nginx
journalctl -u nginx --since today

Главный принцип: сначала проверить конфигурацию и логи, затем менять настройки по одной. Это быстрее, чем одновременно редактировать TLS, proxy, PHP-FPM и firewall.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *