Как стать автором
Обновить
8
0
Евгений Грибанов @eijawa

Пользователь

Отправить сообщение

Изменил на возвращение самих классов.
По поводу единого интерфейса: никто не мешает его определить через те же самые протоколы или абстрактные классы\методы. В примерах я решил не прописывать методы классов, чтобы не занимать пространство статьи.

Да, вы правы, проглядел, поправил. Также изменил возвращаемый результат методов - с инстансов на сами классы.

Поскольку код в статье писался для примера, не учитывая принципы SOLID.

Я решил дополнительно освежить знания и понял, что да, вы правы. Заменил в статье пункт на symlink. Спасибо!

По поводу symlink: проблема в том, что если был отправлен неправильный конфиг, то NGINX не перезапустится или не запустится (в зависимости от его текущего состояния). В связи с этим, если сделать symlink, то будет всего два варианта развития событий (о деталях можно прочитать в официальной документации):
1. NGINX уже был запущен. В таком случае, если тест провалится, то с сервером ничего не случится (поскольку на команду перезапуска он ответит ошибкой) и он продолжит работать на старом конфиге.
2. NGINX не был запущен. В таком случае, он просто не запустится.
Поэтому, это дело вкуса, но я хотел бы оставить за собой возможность безболезненного перезапуска.

DNSMasq нужен, чтобы можно было после автоматически создавать тестовые стенды на основе конфигов и не прописывать каждый раз новые домены на каждом клиенте. Для этого нужно будет лишь добавить адрес нашего сервера в качестве дополнительного DNS на нашем компьютере (у нас это сделано путём модификации resolv.conf и отключением автоматической генерации конфига NetworkManager'ом).

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность