Для того, чтобы было удобнее настраивать 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 для работы с виртуальными хостами можно считать законченной.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)