Dmitriy

Актуально по сути только для ISPmanager Pro / Host, где может быть много сайтов у пользователя.

Если выделить сайтов сразу штук 50-100 и попытаться: сменить php, либо включить сжатие, либо включить всем https редирект, либо сменить apache на fastcgi, то на каждый домен в цикле панель запускает вначале "nginx -t && httpd -t -d /etc/httpd-*" и затем на каждый домен делает service nginx reload && service httpd reload. В итоге вместо того чтобы сделать один раз тест и один раз релоад, панель это делает по 50-100 раз и "думает" несколько минут, особенно когда на сервере уже добавлено порядка 1000+ сайтов.

Это ооооооочччеееееееенннььььь долго, мучительно и не всегда успешно с первого раза удаётся дождаться завершения операции. Так ещё и зачастую от такого частого reload при большим кол-ве редактируемых доменов падает тот же apache. Почему бы не сделать выполнение команды "nginx -t && httpd -t" на проверку конфигов на финальном этапе и только ОДИН раз, когда панель уже произвела изменения во всех файлах конфигов nginx и httpd и если синтаксис OK, затем уже только ОДИН раз перечитывание конфигов (reload).

Если невероятно сложно делать схему с откатом конфигов в момент когда панель их уже записала в файлы перед тестом -t и перечитыванием reload, что мешает делать копии прежних файлов конфигов в какие-нибудь там site1.ru.conf_backisp0.todelete и если ошибка проверки синтаксиса -t, откатывать изменения из _backisp0.todelete файлов конфигураций, не делая reload.

На текущий момент реализация запуска команд тестирования и перечитывания конфигов сделана крайне не адекватно.

30.05.2024 04:53

6
Добавлено в бэклог
Mary K

Dmitriy, здравствуйте

Благодарю за обратную связь.

11.06.2024 03:21