Структура папок NGiNX на сервере Debian 9 для работы с виртуальными хостами

Для того, чтобы было удобнее настраивать NGiNX в Debian 9 для работы с виртуальными хостами, нужно немного дополнить стандартную файловую структуру хранения информации с настройками этого веб-сервера. В этой статье рассмотрим, какие именно дополнения желательно внести в файловую систему конфига NGiNX в папке /etc/nginx для того, чтобы в будущем было удобно управлять созданием, поддержанием и удалением виртуальных хостов на WEB-сервере.



Структура файлов настроек сервера NGiNX сразу после его установки

Для того, чтобы понимать, что делать, сначала рассмотрим ту структуру файлов настроек сервера NGiNX, которую предлагают его разработчики, и которая создаётся при его установке на удалённый сервер. Итак, сразу после установки NGiNX имеет одну папку (/etc/nginx/conf.d), одну ссылку (/etc/nginx/modules) на папку (/usr/lib/nginx/modules) и 9 файлов:

root@server:~# tree -p /etc/nginx
/etc/nginx
├── [drwxr-xr-x]  conf.d
│   └── [-rw-r--r--]  default.conf
├── [-rw-r--r--]  fastcgi_params
├── [-rw-r--r--]  koi-utf
├── [-rw-r--r--]  koi-win
├── [-rw-r--r--]  mime.types
├── [lrwxrwxrwx]  modules -> /usr/lib/nginx/modules
├── [-rw-r--r--]  nginx.conf
├── [-rw-r--r--]  scgi_params
├── [-rw-r--r--]  uwsgi_params
└── [-rw-r--r--]  win-utf

2 directories, 9 files

Дополнительные папки конфигурации NGiNX для для работы с виртуальными хостами

Всю работу по конфигурации виртуальных хостов в NGiNX можно производить и в тех файлах, которые идут «из пакета» (см.выше). Но куда удобнее, если данные по каждому виртуальному хосту будут располагаться в отдельном файле. Формат конфига NGiNX поддерживает подключение дополнительных конфигурационных файлов директивой include, которая задаёт путь до мест расположения дополнительных конфигурационных файлов, в которые мы и будем впоследствии складывать конфиги виртуальных хостов. В том конфиге NGiNX, который я использую, это строки в конце:

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

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

Создание дополнительных папок конфигурации NGiNX для для работы с виртуальными хостами

Помимо указанных папок в конфиге создадим сразу ещё парочку (на будущее для расширения, если оно потребуется) командой mkdir:

root@server:~# mkdir /etc/nginx/sites-available
root@server:~# mkdir /etc/nginx/sites-enabled
root@server:~# mkdir /etc/nginx/templates

В итоге получим следующее дерево каталога /etc/nginx с настройками NGiNX:

root@server:~# tree --dirsfirst -p /etc/nginx
/etc/nginx
├── [drwxr-xr-x]  conf.d
│   └── [-rw-r--r--]  default.conf
├── [lrwxrwxrwx]  modules -> /usr/lib/nginx/modules
├── [drwxr-xr-x]  sites-available
├── [drwxr-xr-x]  sites-enabled
├── [drwxr-xr-x]  templates
├── [-rw-r--r--]  fastcgi_params
├── [-rw-r--r--]  koi-utf
├── [-rw-r--r--]  koi-win
├── [-rw-r--r--]  mime.types
├── [-rw-r--r--]  nginx.conf
├── [-rw-r--r--]  scgi_params
├── [-rw-r--r--]  uwsgi_params
└── [-rw-r--r--]  win-utf

5 directories, 9 files

Резюме

Таким образом подготовку структуры папок NGiNX на сервере Debian 9 для работы с виртуальными хостами можно считать законченной.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню