Я использую wordpress на небольшом сайте электронной коммерции (не для электронной коммерции, только для главной страницы и некоторых других). Мы хотели бы получить полную копию сайта, настроенного на втором сервере, а затем переключить DNS на IP-адрес нового сервера.
Прежде чем переключиться, мы, конечно же, хотели бы протестировать новый сервер, обновить темы и т. Д.
Я скопировал программное обеспечение и базу данных, и сначала все казалось нормальным. Доступ к новому серверу осуществляется только с использованием IP-адреса, так что это что-то вроде http: // 47.48.147.148/mysite.com/, а с помощью псевдонима в apache2.conf (это в Ubuntu) он перенаправляет его в / home / mysite.com/wordpress/.
Однако многие ссылки ведут на www.mysite.com/[ независимо от того, что это была за ссылка]. Я попытался войти в серверную часть, чтобы исправить это, и обнаружил, что даже логин администратора перенаправляет на настоящий сайт. Итак, переход по адресу http: //47.48.147.148/wordpress/wp-login.php отправляет меня на страницу входа в систему, и когда я вхожу в систему, я попадаю на страницу www.mysite.com/wp-admin, где я вошел в систему.
Так что у меня такое чувство, что я делаю здесь основную стратегическую ошибку. У нас небольшой сайт, достаточно одного сервера (БД и код). Мне просто нужна возможность установить новую ОС, программное обеспечение для баз данных, программное обеспечение для блогов, электронной коммерции и т. Д., А затем переключить его. Я думал, что настройка всего на втором сервере и переключение регистрации DNS на новый IP-адрес сделает это (разные клиенты могут не все получить новый IP-адрес мгновенно, но в течение дня или около того они все это сделают, и в любом случае никто увидит сайт, который не был готов).
Итак, какова лучшая стратегия для этого? Я не хочу обновлять такие вещи, как ОС на моем производственном сервере на лету, и я хочу иметь возможность протестировать новую настройку с помощью моего браузера с реальными данными в нем, поэтому я скопировал код и базу данных из текущий прод-сервер. Какова наилучшая общая стратегия решения этих проблем в условиях небольшого магазина? Есть ли настройка apache, которая позволит этой работе, или есть другой способ максимально реалистично протестировать новую настройку, не внося изменений в prod-сервер на лету?
Всякий раз, когда я балуюсь с машинами, которые будут производиться под отдельным именем, чем сейчас, я либерально использую манипуляции с файлами через хосты.
Единственная проблема будет заключаться в том, что если вы начнете использовать сертификаты, комбинация IP / имени в сертификате может не совпадать. Я также видел лицензионное программное обеспечение, которое нельзя обмануть таким образом.
На машине убедитесь, что ваши записи в / etc / hosts точно отражают реальность при каждом переключении. Затем, когда что-то изменится, обязательно удалите записи файла хоста, потому что в будущем все изменится, и вы не хотите, чтобы файл хоста облажался, и в то же время выдал ложно-отрицательную индикацию ошибки.
Разве вы не можете просто изменить файл / etc / hosts на своей рабочей станции и указать домен на тестовый сервер? Вам вообще не нужно трогать конфигурацию сервера разработки. Недостатком является то, что изменение файла hosts довольно раздражает и может привести к серьезным ошибкам (выполнение чего-либо не на том сервере).