Хочу поделиться своими наработками по настройке nginx, которые, возможно,
помогут кому-то при старте нового проекта или избавят от необходимости
копипастить очередной vhost.
помогут кому-то при старте нового проекта или избавят от необходимости
копипастить очередной 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 — присоединяйтесь!
Ссылки:
ссылка на оригинал статьи http://habrahabr.ru/post/185788/
Добавить комментарий