Начало > Помощен център > Споделен Хостинг Linux > Уебсайт > Тест с hosts файл при мигриране на сайт

Тест с hosts файл при мигриране на сайт

Помощен център

Тест с hosts файл при мигриране на сайт

Неотменна част от работата на техническа поддръжка (предимно за колегите нощна смяна) е да преместват сайтове от други хостинг компании в ICN.bg.

Всъщност миграцията не е толкова сложен, колкото бавен процес и някои потребители сами мигрират сайтовете си.

Най-общо работата се свежда до копиране на файловете в новия хостинг, конфигуриране на домейна (ако не е направено), създаване на нова база данни, импортиране на архива и конфигуриране на връзката с новата база данни (ако е необходимо).

Без значение дали клиента е поръчал новия хостинг в ICN.bg с домейн името на сайта или с друго домейн име (в този случай сайта най-вероятно работи с допълнителен домейн), домейна на сайта е насочен по DNS към стария хостинг и ние нямаме възможност (или поне така изглежда) да тестваме дали миграцията на сайта е успешна.

В тази статия ще ви покажем как може да тествате работата на сайта на новия хостинг сървър докато в същото време сайта работи с посетители от стария хостинг.

Създаване на запис в hosts файла

При закупуване на хостинг от ICN.bg клиента получава активационен имейл с всички необходими данни (URL и IP адрес, потребители, пароли) за достъп до хостинга. В този имейл трябва да откриете IP адреса на хостинг сървъра.

След това трябва да отворите hosts файла на вашата операционна система (OS) и да създадете запис, който да свързва IP адреса на сървъра и домейн името на сайта като ползвате следния синтаксис:

12.34.56.78 domain-name.tld

където:

12.34.56.78 е IP адреса на хостинг сървъра;

domain-name.tld е домейн името на сайта;

Как работи hosts файла?

В съвременните операционни системи hosts файлa се използва като алтернативен механизъм за свързване на хост имена с IP адреси без участието на DNS системата.

Когато получи заявка за резолване на домейн име OS първо проверява дали има запис за този домейн в hosts файла, след това търси запис в локалния кеш на компютъра и едва тогава изпраща запитване към DNS на интернет доставчика и по този начин, следвайки строго определена процедура се достига до IP адреса на домейна към който браузера изпраща HTTP заявката.

Когато ние създадем коректен запис за домейна в hosts файла, OS връща IP адреса от записа на браузера без да пита DNS системата.

По този начин нашия браузер изпраща HTTP заявка директно към IP адреса на хостинг сървъра, където е конфигуриран домейна, получава отговор от уеб сървъра и в монитора се зарежда сайта от новия хостинг.

Важно: за да работи записа в hosts файла коректно, домейна трябва да бъде конфигуриран на сървъра с посочения IP адрес. Не може да насочите www.google.com към IP адреса на хостинг сървъра. Технически вие може да създадете такъв запис, но той очевидно няма да зареди сайта www.google.com от вашия сървър.

В същото време всички останали потребители на сайта чрез DNS системата биват насочени към IP адреса на стария хостинг и зареждат страниците на сайта от него.

По този начин тестваме дали миграцията на сайта е успешна без да променяме неймсървърите на домейна.

Ако сайта работи коректно и миграцията се извършва от техническа поддръжка, колегите изпращат имейл на клиента с резултата от миграцията и кратка информация как да създаде запис в hosts файла на своя компютър и сам да тества работата на сайта на новия сървър.

Когато клиента потвърди, че миграцията е успешна, се променят неймсървърите или А записа на домейна и в рамките на 48 часа глобално всички заявки се насочват вече от DNS системата към новия хостинг.

През това време не е желателно да се спира сайта на стария хостинг за да може заявките от интернет мрежи, които опресняват своя DNS кеш през по-дълги интервали от време, да се изпълняват от него.

По този начин се мигрира сайт на нов хостинг без да има и секунда прекъсване в работата на сайта (downtime).

Автоматично създаване на поддомейн

Техническият екип на ICN.Bg добави една допълнителна възможност за проверка работата на сайта при създаване на нов сайт или миграция на сайт, без да се променят DNS настройките на домейна.

В хостинга автоматично се създава (паркира) поддомейн username.server.icnhost.net, който зарежда съдържанието на сайта в главната директория на хостинга public_html.

username.server.icnhost.net представлява примерен шаблон на паркирания поддомейн, където:

  • username - е името на конкретния cPanel потребител;
  • server - е името на хостинг сървъра в ICN.Bg (напр. bingo);

Може да видите вашия конкретен поддомейн в контролния панел cPanel > Domains > Aliases:

Таблица с паркиран поддомейни в cPanel

В случаи като закупуване на нов хостинг или мигриране на сайт от друг хостинг, просто копираме файловете в главната директория на хостинга public_html, ако сайта е динамичен създаваме база данни и импортираме таблиците, зареждаме поддомейна и сайта (или поне началната страница) се зарежда от новия хостинг.

Разбира се, ако линковете са абсолютни (съдържат стария домейн), при кликане страницата ще се зареди от стария хостинг (защото там е насочен все още домейна по DNS), ако линковете са относителни (не съдържат протокол и домейн) целия сайт ще работи от новия хостинг в ICN.Bg (напр. Bootstrap HTML5 сайт).

Зареждане на статичен index.html файл:

Зареждане на статичен index.html файл

Зареждане на WordPress сайт:

Зареждане на WordPress сайт

Важно: по описания начин правим проверка само за сайта на главния домейн в хостинга. За да проверим работата на сайт, конфигуриран към допълнителен addon домейн трябва да ползваме пренасочване с hosts файл.

Онлайн пренасочване през сайта hosts.cx

Представяме един удобен безплатен онлайн инструмент, чрез който също може да проверяваме работата на сайт на нов сървър без да променяме DNS настройките на домейна, нито да създаваме запис в hosts файла на операционната система.

Ще покажем как работи инструмента https://hosts.cx/ при миграция на тестов WordPress сайт.

Конфигурираме домейна като допълнителен (addon) в новия хостинг към произволна директория:

Конфигуриране на допълнителен (addon) домейн

През Softaculous инсталираме WordPress сайт с домейна icntest.site:

Зареждане на WordPress сайт icntest.site

Зареждаме URL адреса https://hosts.cx/:

Изглед на сайта hosts.cx

и попълваме полетата:

  • Server address - IP адреса на хостинг сървъра (може да го видите в cPanel или в имейла, получен при закупуване на хостинга);
  • Website name - домейн името на сайта;
  • Попълваме антиспам приложението reCaptcha;

и кликаме бутона Get My Testing URL:

Попълване на полета с данни в hosts.cx

В нов прозорец на браузъра се зарежда поддомейн, който трябва да кликнем за да се зареди сайта на новия сървър:

Уникален линк за достъп до сайта

Кликаме линкът с временния поддомейн и се зарежда тестовия сайт:

Зареждане на тестовия сайт през hosts.cx

За да инсталираме WordPress сайта създадохме запис за домейна в hosts файла на операционната система, но както може да се уверите от проверката по-долу, този домейн е свободен за регистрация и няма валидни DNS записи за него:

Свободен за регистрация домейн

Как заявката от сайта hosts.cx зарежда тестовия сайт?

Под формата за въвеждане на данни в сайта има отговори на често задавани въпроси:

За какво служи услугата?

Услугата е предназначена за уеб разработчици и администратори, които извършват миграция на сайтове между хостове. Тя позволява достъп до сайта на новия сървър без никакви модификации на системата или DNS, така че вие и вашите клиенти можете лесно да тествате сайта, преди да пренасочите домейна.

Как работи услугата?

Адресът на сървъра и името на уебсайта се съхраняват в база данни. Когато кликнете уникалната връзка, междинния хост се свързва с посочения сървър, изпраща запитване към уебсайта и в отговора на сървъра пренаписва домейна в оригиналните линкове с тестовия поддомейн, така че съдържанието на сайта не се променя.