Nginx: установка, базовая настройка, reverse proxy, TLS и диагностика
Nginx можно использовать как обычный веб-сервер, reverse proxy, TLS-терминатор и балансировщик. Для большинства production-сценариев лучше устанавливать пакет из поддерживаемого репозитория, а не собирать сервер вручную без необходимости.
Проверка конфигурации
sudo nginx -tПосле успешной проверки применяйте изменения без жёсткой остановки сервиса:
sudo systemctl reload 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.log502 Bad Gateway
Обычно означает, что Nginx не получил корректный ответ от upstream. Проверяйте сам backend, сокет/порт, firewall, DNS upstream и таймауты.

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.