Антон Рябов bio photo

Антон Рябов

Не люблю бриться и у меня умный взгляд.

Email Twitter Telegram Github PGP RSS

Nginx 101

Обзор

За свою карьеру я собрал большой багаж опыта работы с веб-сервером Nginx и некоторые моменты освещал в данном блоге.

Официальная документация не всегда очевидна и иногда хочется побыстрее получить результат, а не погружаться глубоко в технические детали.

На этой странице я собрал полезные советы для тех кто только начинает работать с Nginx, а также ссылки на статьи опубликованные в блоге.

Про Windows

Несмотря на то, что Nginx работает под Windows, изначально это продукт для Unix. Если вы работает на Windows я советую использовать Windows Subsystem for Linux (WSL) и пользоваться версией Nginx для Linux.

Если не указано иное, во всех своих материалах я подразумеваю работу в операционной системе Linux.

Руководство по установке подсистемы Windows для Linux в Windows 10.

Установка

В интернете описано много способов установки Nginx, но самый правильный и актуальный всегда на сайте самого Nginx. Есть две ветки актуальных версий программы - Основная (Mainline) и Стабильная (Stable). Если вы только начинаете использовать Nginx берите основную, проблем быть не должно, зато вы получите более свежую функциональность.

Как установить Nginx в CentOS 7.

Отладка

После установки Nginx должен запуститься автоматически, чтобы убедиться можно проверить порт 80 утилитами nc или telnet.

Если порт открыт и Nginx на нем работает мы увидим примерно такой вывод:

$ nc -vz 127.0.0.1 80
Connection to 127.0.0.1 80 port [tcp/http] succeeded!
$ echo quit | telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Connection closed by foreign host.

Если не видим, или видим ошибки, значит что-то не так. Первый рубеж диагностирования - логи. Они должны стать вашим верным другом, всегда, когда что-то не работает как должно, первым делом проверяйте их.

Ошибку из логов проще всего “загуглить”, наверняка с ней уже кто-то сталкивался. А если в логах пусто, значит сервис не запустился в принципе.

При диагностировании ошибок может быть полезно увидеть с какими модулями собран Nginx.

Адекватный вывод команды nginx -V

Перезагрузка конфига

Для настройки Nginx используются текстовые конфигурационные файлы, которые находятся в папке /etc/nginx/. Чтобы изменения в конфигах применились, нужно определенным образом уведомить Nginx.

Применение новых конфигов Nginx.

Изменение конфига

Директива location в Nginx.

Конфиг Nginx для Magento.

Конфиг Nginx для Prestashop.

Безопасность

HTTPS в Nginx с сертификатом от Let’s Encrypt.

Блокируем/разрешаем доступ к сайту по IP.

Разное

Установка LiveStreet CMS.

Знакомство с ImageCMS и update тестового сервера.

#Nginx