Ошибки при работе с ISPmanager могут возникать по различным причинам. Нередко возникает проблема "тест конфигурации web-сервера завершился неудачно". Чаще всего подобная ошибка появляется в случае ручных изменений в конфигурационных файлах самого веб-сервера или виртуального хоста (конфигурационного файла сайта). Дальше рассмотрим способы борьбы с данным недугом.
При изменении настроек сайта в панели ispmanager появляется следующее сообщение об ошибке:
/etc/nginx/nginx.conf test failed
)Если указан некорректный IP-адрес для прослушивания веб-сервером, панель вернет следующую ошибку:
Тест конфигурации web-сервера при сохранении файла '/etc/nginx/vhosts/<имя_пользователя>/<название_сайта>.conf'
завершился неудачно: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx:
[emerg] bind() to <ip-адрес:порт> failed (99: Unknown error) nginx: configuration file /etc/nginx/nginx.conf test failed
Решение простое - обратите внимание на какой адрес и порт указывает ошибка. После, необходимо проверить в каком файле используется этот адрес и порт.
Сделать это можно с помощью утилиты "grep":
grep -r <ip-адрес:порт> /etc/nginx/*
Также проверьте наличие IP-адреса на сетевом интерфейсе сервера:
ip a | grep <ip-адрес:порт>
Если адрес отсутствует, то веб-сервер Nginx не обработает конфигурацию с таким адресом - необходимо либо изменить IP-адрес в конфигурационных файлах, либо добавить IP-адрес на интерфейс.
Если указан некорректный путь до файла сертификата, панель вернет следующую ошибку:
Тест конфигурации web-сервера при сохранении файла
'/etc/nginx/vhosts/<пользователь>/<название_сайта>.conf' failed:
nginx: [emerg] cannot load certificate "/var/www/httpd-cert/<пользователь>/<название_сайта>_le1.crtca":
BIO_new_file() failed (SSL: error:02001002:system library:
fopen:No such file or directory:fopen('/var/www/httpd-cer/<пользователь>/<название_сайта>_le1.crtca','r')
error:2006D080:BIO routines:BIO_new_file:no such file) nginx:
configuration file /etc/nginx/nginx.conf test failed
Ошибка возникает, когда путь к сертификату указан неверно или файл сертификата отсутствует по указанному пути.
Необходимо проверить существуют ли файлы сертификата по указанному пути
ls -la /var/www/httpd-cert/<имя-пользователя>/<название-сайта>
Проверьте в каком файле указан путь до этих файлов
grep -r <название-сайта>_le /etc/nginx/vhosts/*
Если файла нет, удалите все директивы, которые ссылаются на этот файл, выполните тест конфигурации командой nginx -t
и повторите попытку выпуска сертификата, если тест завершился удачно.
При ошибке синтаксиса "directive is not allowed", панель вернет ошибку следующего формата:
Тест конфигурации web-сервера при сохранении файла
'/etc/nginx/vhosts/<имя_пользователя>/<название_сайта>.conf' завершился неудачно:
nginx: [emerg] "<имя_директивы>" directive is not allowed here in
/etc/nginx/vhosts/<имя_пользователя>/<название_сайта>.conf:
85 nginx: configuration file /etc/nginx/nginx.conf test failed
Ошибка указывает на некорректное расположение директивы, например внутри директивы location указана директива server, что является вышестоящей директивой и не может быть указана внутри location. Исправить ошибку можно, проверив структуру конфигурационного файла и разместить директивы корректно.
При ошибке синтаксиса "directive is duplicate", панель вернет ошибку следующего формата:
Тест конфигурации web-сервера при сохранении файла
'/etc/nginx/vhosts/<имя-пользователя>/<название-сайта>.conf' завершился неудачно:
nginx: [emerg] "<расположение-директивы>" directive "<имя-директивы>" directive is duplicate in
/etc/nginx/vhosts/<имя-пользователя>/<название-сайта>.conf:
122 nginx: configuration file /etc/nginx/nginx.conf test failed
Ошибка указывает на дублирование директивы в одной из секций конфигурационного файла, например директива gzip была дважды обозначена в секции location более одного раза. Как исправить? Проверьте секцию, которая указана на месте <расположение-директивы> в тексте ошибки и исключить дублирующие директивы.