Единого ответа на ваш вопрос нету.
Смотря какой сайт и требования. Если это работа с БД, пользователями и загрузкой файлов - это достаточно сложная история. Надо собирать всё это в свою подсеть (например при помощи впн), настраивать репликацию БД, синхронизацию файлов и делать roud-robin dns например. Но это всё скорее всего будеи работать медленно
Если это постоянная отдача статичного сайта (например, ваш личный блог с огромной посещалкой)
то арендуете VPS, ставите на него nginx и в нем настраиваете проксирование с кешированием пол часа на ваш домашний сервер. таким образом если ваш сервер ляжет, то до получаса будет отдаваться сайт из кеша
Еще вариант на впс полная копия сайта, базы. сайт раз в минуту синхронизируете rsync, БД slave репликация. отвалился домашний сервер - vps отдает из реплики всё (но вносить туда изменения уже не получится, это надо предусматривать в коде)
вариантов, короче, много