Как перенести сайт с одного хостинга на другой? Перенос сайта на другой хостинг PHP MySQL
Переход на новый hosting
Недавно написал я статью про конец света, и вскоре с данным сайтом стало твориться что-то неладное. Два дня подряд он по несколько часов или жутко тормозил, или просто был недоступен.
Такое бывало и ранее, но переносить его на другой хостинг мне не хотелось, т.к. очень много уже «залито» разных важных файлов, создано несколько почтовых ящиков и поддоменов. А делегировать перенос сайта кому-либо мне не хотелось из-за психологических предрассудков
В общем, заниматься этим не хотел, но за последние несколько дней из-за проблем с хостингом заметно упал трафик с поисковиков, так что я решил, что пора. В разное время приходилось уже «переезжать», но сейчас получилось как-то всё долго и немного проблемно — до сих пор техническая служба разбирается с почтовыми ящиками (они не шлют письма).
(ПЕРЕЙТИ СРАЗУ К ПРОЦЕССУ ПЕРЕНОСА)
В чём вообще были проблемы со старым хостингом? Да на самом деле, никаких, кроме того, что сайты постоянно DDoS’или (особым образом атаковали) и те ресурсы, на которых не была направлена атака, тем не менее, страдали от неё — тормозили или вырубались вовсе. А также бывали периодические проблемы с маршрутизаторами.
Старого хостера для данного сайта я даже рекомендовал в статье «почему спам — плохо?«. При совсем небольшой цене, на нём можно:
- разместить неограниченное число сайтов (доменов)
- с неограниченным числом баз данных,
- неограниченным числом почтовых ящиков
- и неограниченным трафиком.
Почти всё не ограничено, кроме свободного места — 1 Гб. Но это очень много для статейных сайтов (а для крупных файлов всё равно лучше использовать облачные хранилища).
Ещё там есть возможность недорого купить домены и компетентная тех.поддержка. Да и сервер, на котором располагались мои сайты имеет 16 Гб ОЗУ, так что всё там быстро и удобно.
Но вся проблема в том, что этот хостер размещает ресурсы на серверах в Hetzner (крупнейшая европейская хостинговая компания с огромным дата-центром), и то ли Hetzner предоставил плохое оборудование, то ли что-то ещё, но сайт иногда по три раза в день бывал недоступен на 3-10 минут. Ну и постоянные DDoS-атаки.
Поэтому я решил перенести всё на выделенный сервер и к той компании, которая бы использовала подконтрольное ей техническое оборудование.
Сначала решил «податься» к уважаемому мной хостингу Timeweb.ru (я и сейчас всем его рекомендую), но лично мне хотелось, чтоб этот мой проект находился бы за пределами РФ. А timeweb размещает сервера в Санкт-Петербурге.. Если вам всё равно, где «географически» находятся ваши сайты, то смело пользуйтесь timeweb — мощности у них хорошие, да и пинг сайта будет, естественно, меньше.
Но я подумал «опробовать» компанию Fornex.com, давно к ним присматривался (компания — в Испании, сервера — в Германии, сайт — на русском). Причём, для быстроты дела, решил взять обычный виртуальный хостинг (пока на месяц, но, как оказалось, при заказе на месяц — дают два). И пока это самый быстрый хостинг, который мне доводилось пробовать. Подробный отзыв про Fornex.com как-нибудь ещё напишу, пусть пока разберутся с почтовыми ящиками (up: разобрались как статью дописал; очень качественно :)).
В общем, процесс переезда я подробно «отскриншотил» (для истории), так что в данной статье расскажу стандартный алгоритм переноса сайта с одного на другой хостинг в картинках.
Нужно отметить, что я напишу именно про хостинг PHP MySQL (а не IIS, Java и т.п) — т.к. это самый распространённый вариант.
Как перенести сайт с одного хостинга на другой?
Всё довольно просто, но может получиться долго. Если ваш ресурс не использует БД (базу данных), то нужно выполнить всего два шага, а так их три:
- переносим файлы сайта со старого хостинга на новый;
- также переносим БД;
- меняем DNS для связки доменного имени с новым сервером.
Теперь расскажу обо всём по порядку.
Перенос файлов сайта на другой хостинг со старого
Делать это предлагаю не посредством FTP, а через веб-интерфейс Панели управления, потому что большое количество файлов по FTP передаётся очень долго. Мне повезло — у обоих хостеров используется панель ISPmanager одной версии. Но если в вашем случае они отличаются — сути это не меняет.
В панели старого PHP MySQL хостинга (с которого уходим)
Сначала надо скопировать всю папку с сайтом к себе на компьютер. Как правило, папка автоматически архивируется в .tgz формат и сразу скачивается. Показываю на примере ISPmanager, но в других ПУ всё аналогично:
Выделяем папку с файлами сайта…
…и скачиваем её
Далее можно сразу закачать эти файлы на новый хостинг. Но лучше так не делать — у некоторых хостеров к названию БД и имени пользователя БД добавляется специальный префикс, поэтому необходимо в скачанной ранее папке с файлами сайта найти конфигурационный файл и изменить в нём БД/имя пользователя БД. А для этого надо создать новую БД, чтобы узнать этот префикс (об этом — далее).
Чтобы затем опять не возвращаться в ПУ старого хостинга, лучше сразу скачать к себе на компьютер БД. Сделать это можно обычным способом — через phpMyAdmin, путём экспорта её в файл:
Экспорт старой базы данных в файл
— щёлкаем вкладку «Экспорт» и жмём «OK» в правом нижем углу. Вся ваша БД теперь «соберётся» в обычный текстовый файл с расширением .sql. Этот файл может оказаться неожиданно большим..
А можно (если позволяет ПУ) просто зайти в соответствующий раздел панели и сразу скачать её на компьютер:
Скачиваем БД через ISPmanager
Больше в данную ПУ возвращаться не потребуется.
В панели нового хостинга (куда нужно переносить сайт)
Создаём новую БД — прописываем её название, имя пользователя и пароль:
Переходим к созданию БД на новом хостинге…
… и создаём её
Теперь, создав БД, можно внести её данные в конфиг.файл. Если сайт ваш создан на WordPress, то этот файл называется wp-config.php и лежит в корневой директории — т.е. его можно найти в архиве, который мы скачали ранее:
Правка config-файла в WordPress
Так что разархивируем скачанное, правим файл и сохраняем изменения. И теперь вновь создаём архив из всех файлов сайта. В Windows проще всего сделать .zip-архив — для этого выделяем все файлы в папке (CTRL+A) и щёлкаем правой кнопкой мышки по любому из них:
Архивируем все файлы
Как будет назван архив — не важно. Но не стоит прямо сейчас закидывать его на другой хостинг. Дело в том, что когда в ПУ будет создан новый домен, то он автоматически создаст папку с новым доменным именем — вот в неё потом и закинем файлы этого архива.
Создаём новый домен в ПУ хостинга и переносим БД
Теперь можно забыть о старом хостинге и остаться в ПУ нового.
Сперва заходим в phpMyAdmin (в созданную БД) и делаем импорт той другой БД, которую мы сохранили на компьютер:
Импорт базы данных в phpMyAdmin
— выбираем файл со старой БД и жмём «OK» (справа внизу). Импорт большой БД может затянуться..
Всё, с БД покончено. Теперь осталось создать домен в ПУ:
Создаём новый домен в ISPmanager
Здесь всё просто, в разных ПУ выглядит по-разному. После создания домена появится папка в корневой директории нашего хостинг-аккаунта, имя этой папки = домен переносимого сайта. В неё-то и нужно закачать архив с файлами, который мы делали ранее.
Для этого в файловом менеджере находим папку с именем домена, открываем и закачиваем в неё архив — он у меня назвался readme.zip, но это не важно:
Закачиваем архив в ISPmanager
После успешной закачки надо разархивировать находящиеся в нём файлы:
Распаковываем архив в ISPmanager
После распаковки — архив удаляем (чтоб не мешал).
На данном этапе перенос сайта на другой хостинг почти закончен:
- файлы лежат там, где надо
- то же самое с БД
Теперь нужно «связать» новый сервер с нашим доменным именем.
Прописываем DNS
Чтобы указать новые DNS (их должен был сообщить хостер), надо перейти в панель управления доменного регистратора (большую часть всех доменов я держу на 2domains.ru) и указать там не менее 2-х DNS от хостера:
Меняем DNS домена на 2domains.ru (он недавно сменил внешний вид)
В общем-то и всё, перенос завершён, остаётся подождать, пока произойдёт эта «связка».
У некоторых хостеров ещё требуется добавить домен в аккаунт хостинга, в Fornex.com то же самое:
Добавляем домен в аккаунт на хостинге
Вот теперь точно всё. Хотя нет…
Желательно ещё раз заглянуть в папку с файлами нашего сайта и поискать, нет ли там файла index.html. Если ваш сайт сделан на PHP, то должен быть index.php (скорей всего). Поэтому удалите тот файл (.html), иначе, даже после «связывания» нового сервера с доменным именем, можно будет увидеть т.н. «заглушку» хостера:
Заглушка Fornex.com
Ну вот, с помощью таких простых и нудных действий мы перенесли сайт с одного хостинга на другой. Логично, что часто делать эту процедуру не захочется. Поэтому желательно сразу выбрать «добротного» хостера (иногда может понадобиться абузоустойчивый хостинг) и не отвлекаться на подобные вещи.
Обзор партнерской программы Profit SocialСайты развлекательной тематики, довольно сложно монетизировать. Вроде и т...
Что такое лендинг пейдж (landing page) и как их использовать....обов использования лендингов. 1. Используя рекламу. Реклама это отличный способ
Что такое плагин? WordPress-плагины, скачивание, установка, настройкаНаписал уже несколько статей про плагины для WP (например, плагин WordPress "п...
Как проверить, сколько сайтов на каком домене?Недавно захотелось проверить, сколько сайтов уже успели создать на...
Кто ещё продаёт ссылки с автобирж?Долго я был убеждён, что если сайт неплохо посещается, имеет ка...