Nginx boilerplate: Быстрая и изящная настройка nginx

в 21:33, , рубрики: nginx, метки:

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

Я отметил две проблемы подавляющего числа конфигов nginx'а, попадавших мне на глаза:

  • «Всё в одном файле»
  • Дублирование настроек

С помощью моего подхода. надеюсь, эти и многие другие проблемы будут устранены.

Перед тем как собрать все наработки в отдельный проект я искал нечто
подобное, но ничего стоящего не нашлось.

Проект назвался «Nginx boilerplate». И, по аналогии с HTML5 Boilerplate,
он служит для быстрого старта при настройке нового виртуального хоста.

По сути это набор конфигов, который предоставляет:

  • Логичную разветвлённую структуру файлов конфигурации nginx
  • Оптимизацию дефолтных настроек
  • Шаблоны для ограничения частоты запросов и количества соединений
  • Кеширование ответа бэкенда на уровне веб-сервера
  • Ряд предопределённых location'ов для различных задач и требований
  • Улучшенное логирование

Для примера — так на данный момент выглядит дефолтный server:

server
{
    listen          80 default_server;
    server_name     "";
    root            /var/www/nginx-bp/test/www/;

    include         nginx-bp/cache.conf;
    include         nginx-bp/limits/methods.conf;

    include         nginx-bp/locations/php.conf;
    include         nginx-bp/locations/favicon.conf;
    include         nginx-bp/locations/static.conf;
    include         nginx-bp/locations/system.conf;

    location /
    {
        include     nginx-bp/logs/bots.conf;
    }
}

Если у вас есть крутые рецепты для nginx — присоединяйтесь!

Ссылки:

Автор: Umkus

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js