Как проверить изменения конфигурации, прежде чем они появятся?
Я студент-волонтер, помогающий поддерживать веб-сервер для небольшого веб-сайта вместе с несколькими другими студентами. Это довольно стандартный сервер LAMP, работающий на Ubuntu 12.04 и в основном размещающий сайты на основе PHP.
В последнее время мы неоднократно хотели вносить незначительные изменения в конфигурацию, которые должны занимать не более нескольких минут - например, изменение разрешений для некоторых файлов веб-сайта для повышения безопасности, обновление сертификата SSL, внесение небольших изменений в конфигурационные файлы и т. д. - и случайно где-то испортит, что обрушит весь сайт. Это обычно приводит к безумным 15 минутам или около того после попытки снова восстановить сайт.
К счастью, несколько минут простоя не конец света, так как это небольшой некоммерческий сайт. Однако я думаю, что это только вопрос времени, когда мы испортим что-то, что не может быть легко исправлено, и это может привести к некоторым довольно серьезным проблемам. Конечно, у нас есть резервные копии, а также вторичный сервер, но восстановление этих резервных копий может занять значительное время.
Итак, вот вопрос, который меня интересует: есть ли хороший способ проверить изменения конфигурации, прежде чем они будут запущены на сервере? Я думал о настройке вторичного сервера, настроенного точно так же, как и первичный сервер, чтобы сначала можно было выполнять / тестировать команды на вторичном сервере, но я думаю, что было бы очень неприятно убедиться, что оба сервера всегда синхронизированы. Есть ли лучший способ сделать это, кроме виртуализации всего и работы со снимками?
1 ответ
Есть ли хороший способ проверить изменения конфигурации, прежде чем они будут запущены на сервере?
Да, это именно то, чего вы пытаетесь избежать, настраивая среду разработки:
- Используйте ту же ОС
- То же программное обеспечение установлено
- Та же конфигурация
- Знайте свои инструменты и знайте, что вы делаете, я инвестирую время, чтобы получить опыт.
- И последнее, но не менее важное: используйте контроль версий, например, git
По сути, создайте зеркало вашей живой настройки. Затем вы можете настроить dev до тех пор, пока не будете удовлетворены, а затем внести эти изменения в живую среду. Это может быть довольно подробно, но в общем, как это сделать. Я позволю себе сказать, что это в значительной степени стандартный способ сделать это.
Есть ли лучший способ сделать это, кроме виртуализации всего и работы со снимками?
Может быть, но я не знаю ни одного, ни использовал.
Удачи:)