Конфигурации сервера Nginx — это набор файлов конфигурации, которые могут помочь вашему серверу повысить производительность и безопасность веб-сайта, а также гарантировать, что ресурсы обслуживаются с правильным типом контента и доступны, при необходимости, даже между доменами.
Для прямого использования репозитория конфигураций сервера Nginx необходимо выполнить несколько обязательных шагов.
nginx.conf
Первое, что нужно проверить, — это то, что файл nginx.conf
содержит значения, соответствующие вашей конкретной установке.
Наиболее специфические переменные:
user
error_log
pid
access_log
Чтобы проверить конфигурацию Nginx
nginx -t
Чтобы проверить конфигурацию Nginx с помощью специального файла
nginx -t -c nginx.conf
Чтобы перезагрузить Nginx и применить новую конфигурацию
nginx -s reload
Этот репозиторий имеет следующую структуру:
./
├── conf.d/
│ ├── default.conf
│ └── templates/
├── h5bp/
│ ├── basic.conf
│ ├── location/
│ └── .../
├── custom.d/
│ └── .../
├── mime.types
└── nginx.conf
conf.d/
Этот каталог должен содержать все определения server
.
За исключением случаев, когда они имеют префикс точки или расширение не .conf
, все файлы в этом каталоге загружаются автоматически.
папка templates
Файлы в этом каталоге содержат шаблон server
для безопасных и незащищенных хостов. Они предназначены для копирования в каталог conf.d
, при этом все вхождения example.com
будут изменены на целевой хост.
h5bp/
Этот каталог содержит фрагменты конфигурации (миксины), которые можно включить по желанию.
Предоставляется два типа файлов конфигурации: отдельные фрагменты конфигурации и комбинированные файлы конфигурации, которые предоставляют удобные настройки по умолчанию.
basic.conf
Этот файл загружает небольшое подмножество правил, предоставленных этим репозиторием, для добавления заголовков expires
, разрешения междоменных шрифтов и защиты системных файлов от веб-доступа. Файл basic.conf
содержит правила, которые рекомендуется всегда определять.
location/
Файлы в этом каталоге содержат одну или несколько директив location
. Они предназначены для загрузки в контексте server
(или во вложенном блоке location
).
custom.d/
Этот каталог должен содержать всю пользовательскую конфигурацию nginx.conf
.
За исключением случаев, когда они имеют префикс точки или имеют расширение .conf
, все файлы в этой папке загружаются автоматически.
mime.types
Файл mime.types
отвечает за сопоставление расширений файлов с типами MIME.
nginx.conf
Основной файл конфигурации Nginx.
Для использования в качестве справочного материала не требуется никаких специальных действий по установке: загрузите/извлеките репозиторий в удобное место и адаптируйте существующую конфигурацию Nginx, включив в него желаемые функции из этого репозитория.
Загрузите архив последней версии.
Для прямого использования замените каталог конфигурации Nginx этим репозиторием. Например:
nginx -s stop
cd /etc
mv nginx nginx-previous
git clone https://github.com/h5bp/server-configs-nginx.git nginx
# install-specific edits
nginx
cd /etc/nginx/conf.d
Создание нового сайта
cp templates/example.com.conf .actual-hostname.conf
sed -i ' s/example.com/actual-hostname/g ' .actual-hostname.conf
Включение сайта
mv .actual-hostname.conf actual-hostname.conf
Отключение сайта
mv actual-hostname.conf .actual-hostname.conf
nginx -s reload
Любой может внести свой вклад, однако, если вы решите принять участие, пожалуйста, найдите время и ознакомьтесь с правилами:
Настройка серверов Nginx возможна только благодаря всем замечательным участникам!
Код доступен по лицензии MIT.