Настройка Nginx онлайн: генератор конфига nginx.conf
Инструмент основан на открытом проекте nginxconfig.io от DigitalOcean, который распространяется по лицензии MIT (текст лицензии). Реклама и меню оригинального сайта убраны. Конфиг создаётся в вашем браузере, ничего не отправляется на сервер.
Настройка Nginx онлайн: генератор nginx.conf
Выберите, что нужно вашему сайту, и генератор напишет файлы конфигурации NGINX: блоки server для доменов, HTTPS с рекомендуемым профилем TLS, обратный прокси, PHP-FPM, Node.js или Python, кеширование, сжатие и заголовки безопасности. Результат можно скачать архивом или получить в виде одной команды для терминала вашего сервера. Все вычисления идут в браузере, поэтому имена доменов и пути никуда не отправляются.
Как пользоваться генератором
- Выберите пресет для типа сайта (PHP, WordPress, Node.js, Django, одностраничное приложение, Drupal, Magento, Joomla или простой фронтенд), введите домен и путь к сайту на сервере.
- Откройте вкладки сайта: Сервер, HTTPS, PHP, Python, Обратный прокси, Маршрутизация, Логирование и Ограничить. Число в скобках после домена показывает, сколько настроек вы изменили.
- Задайте глобальные параметры для всех сайтов: профиль SSL, заголовки безопасности, производительность (gzip, кеширование), логирование и основные настройки NGINX. Вкладка Docker даёт файлы для контейнера.
- В разделе «Настройка» скачайте архив или скопируйте команду Base64 и выполните шаги под ней.
- Проверьте результат командой
nginx -tи перечитайте конфиг NGINX (см. ниже).
Где лежат конфиги nginx
- Debian и Ubuntu: главный файл —
/etc/nginx/nginx.conf. Сайты лежат в/etc/nginx/sites-available/и включаются ссылкой в/etc/nginx/sites-enabled/; дополнительные файлы — в/etc/nginx/conf.d/. - CentOS, RHEL и пакеты с nginx.org:
/etc/nginx/nginx.confи файлы/etc/nginx/conf.d/*.conf(папки sites-available нет). - Docker: официальный образ читает
/etc/nginx/conf.d/default.conf; свой файл или папку подключают как том. - Windows: папка
confрядом сnginx.exe, главный файл —conf\nginx.conf. - Чтобы увидеть всю конфигурацию, которую NGINX действительно использует, со всеми подключёнными файлами, выполните
sudo nginx -T.
Как проверить конфиг и перечитать его
Никогда не перезагружайте NGINX без проверки. Выполните sudo nginx -t: ответ syntax is ok и test is successful означает, что файлы корректны. Ошибка вроде unknown directive или unexpected "}" называет файл и строку, поэтому ошибку легко найти. Затем примените новую конфигурацию, не обрывая открытые соединения: sudo systemctl reload nginx или sudo nginx -s reload. В Windows выполните nginx -s reload в папке NGINX. Перезапуск нужен, только если перечитывания не хватает.
Настройка PHP и NGINX (php-fpm)
NGINX сам не выполняет PHP, он передаёт запрос в PHP-FPM директивой fastcgi_pass: в сокет вроде /run/php/php8.3-fpm.sock или на 127.0.0.1:9000. Имя сокета зависит от версии PHP, посмотрите его в папке /run/php/. Пресет PHP настраивает это вместе с try_files, чтобы запросы CMS шли на index.php.
Настройка обратного прокси, WebSockets и SSE
Обратный прокси принимает запросы на портах 80 и 443 и передаёт их приложению директивой proxy_pass, например http://127.0.0.1:3000. Генератор добавляет заголовки Host, X-Real-IP, X-Forwarded-For и X-Forwarded-Proto, чтобы приложение знало настоящий адрес и протокол посетителя. Для WebSockets NGINX нужны proxy_http_version 1.1 и заголовки Upgrade и Connection. Для server-sent events (SSE) отключите буферизацию директивой proxy_buffering off. Nginx Proxy Manager — другой продукт: приложение в Docker со своим веб-интерфейсом. Этот инструмент пишет обычный конфиг, который вы храните в файлах.
Настройка HTTPS и сертификата nginx
Бесплатный сертификат выдаёт Let's Encrypt, например через certbot; файлы fullchain.pem и privkey.pem лежат в /etc/letsencrypt/live/ваш-домен/. Генератор прописывает пути, редирект с http на https и настройки TLS профиля Mozilla: Modern, Intermediate (по умолчанию) или Old для старых клиентов. HSTS включайте только после того, как убедились, что https работает на всех поддоменах: иначе браузеры откажутся открывать сайт по http.
Как NGINX выбирает location
Первым выигрывает точное совпадение location = /path. Затем находится самый длинный префикс, и если у него есть модификатор ^~, поиск останавливается. Иначе по порядку в файле проверяются регулярные выражения (~ и ~*), и используется первое совпавшее. Если ни одно регулярное выражение не подошло, берётся самый длинный префикс.
Nginx вместе с Apache и настройка fail2ban
Частая схема: NGINX слушает 80 и 443, отдаёт статику и передаёт динамические запросы Apache на другом порту, например на 127.0.0.1:8080. Чтобы блокировать ботов, которые подбирают пароли и сканируют сайт, у fail2ban есть готовые фильтры для NGINX: nginx-http-auth, nginx-botsearch и nginx-limit-req. Включите их в jail.local и проверьте, что пути к логам там совпадают с теми, что в сгенерированном конфиге.
Ограничения сгенерированного конфига
Результат — хорошая основа, но не гарантия для каждого сервера. Проверьте его командой nginx -t, сохраните резервную копию старых файлов (команда есть в инструкции генератора), а для приложений вроде 1С-Битрикс, Nextcloud или Zabbix сверяйтесь с конфигом из их документации. Доступные директивы зависят от версии NGINX и модулей вашей сборки.
Похожие инструменты
Чтобы измерить, как быстро отвечает сервер, воспользуйтесь проверкой TTFB, чтобы увидеть коды ответа и редиректы после настройки https — проверкой кодов состояния HTTP, а чтобы проверить DNS-записи и сертификат домена — DNS-запросом.
Похожие инструменты
Бесплатная проверка TTFB: время до первого байта любого сайта с этапами DNS, подключения, TLS и ожидания сервера, от 1 до 5 замеров и медиана.
Проверьте код ответа HTTP и заголовки любого URL и пройдите всю цепочку редиректов (301, 302, 307, 308) по шагам, с IP сервера и временем.
DNS lookup онлайн: A, AAAA, CNAME, MX, NS, TXT, SOA и CAA записи любого домена и его SSL-сертификат. Узнайте, почему не срабатывает DNS lookup.
Узнайте, где размещён сайт: IP-адрес, хостинг-компания (ASN), страна и город сервера. Бесплатная проверка хостинга для любого домена.
Популярные инструменты
Узнайте, где размещён сайт: IP-адрес, хостинг-компания (ASN), страна и город сервера. Бесплатная проверка хостинга для любого домена.
Бесплатный IP Lookup: страна, город, координаты и часовой пояс IP-адреса, а также имя хоста через обратный DNS (reverse IP). IPv4 и IPv6.
DNS lookup онлайн: A, AAAA, CNAME, MX, NS, TXT, SOA и CAA записи любого домена и его SSL-сертификат. Узнайте, почему не срабатывает DNS lookup.
Проверьте из США (Нью-Йорк), доступен ли сайт: код ответа HTTP и время ответа в миллисекундах. Бесплатный пинг из США для любого URL.