Как перенести сайт с одного VDS на другой.

В жизни мне как то особо доставляли неудобства две вещи - сварить что либо сваркой и перенести сайт на другой сервер. Всегда нужно было искать человека, который бы это сделал. С первой проблемой я разделался еще пару лет назад, когда просто купил сварочный аппарат и немного поискрив электродами легко освоил это ремесло. Теперь настало время разделаться со второй проблемой - перенос сайтов между VDS.

И так все по порядку. Для начала коннектимся по SSH протоколу к старому серверу, где сейчас лежит сайт. Сделать это можно при помощи бесплатной программы PuTTy. Вводим в ее поля имя сайта или IP адрес и порт, на котором находится SSH протокол.

Затем вводим имя пользователя и пароль на сервере. Обычно эта пара совпадает с логином/паролем от FTP. Далее для удобства навигации по серверу я использую команду mc. Это файловый менеджер типа НортонКоммандера под DOS, если кто знает что это такое вообще 🙂 Если Вы дитя планшетной эпохи, то что это такое мне Вам объяснять будет сложно и не нужно, все равно не поймете.

Так вот при помощи mc добираемся до папки с сайтом - public_html. В эту папку нам и нужно будет положить дамп базы данных сайта. Что бы сделать его нужно в командную строку ввести команду:

mysqldump -u dbuser -p -f dbname > db.sql
dbpasswprd

После этого в папке с сайтом сформируется файл db.sql, который будет содержать дамп базы данных для восстановления на новом сервере.

Теперь наша задача упаковать все содержимое нашего сайта вместе с дампом базы данных в архив, для переноса на новый сервер. Делается это при помощи команды:

zip -r site.zip folder

Здесь zip это команда, -r означает архивировать всю папку с подпапками, site.zip - имя архива куда это все сжимать, а folder это имя папки которую нужно сжать. В результате этой команды получаем архив сата с дампом базы данных site.zip. Для миграции с сервера все готово, теперь переходим на новый VDS и начинаем работать там.

Тут без помощи какой либо панели управления сервером работать будет трудно, поэтому прибегнем к ней. Во первых создаем web домен, то есть папки куда будем заливать сайт и заодно кучу настроек внутри сервера о которых лучше не знать :), ну или не заморачиваться, что где нужно прописывать. Короче создаем web домен с именем нашего сайта.

Затем точно так же через SSH конектимя к новому серверу, куда переносим сайт под логином и пролем нового пользователя. Аналогично переходим в папку public_html при помощи mc коммандера или вручную через команду cd.

Теперь нам нужно перекачать архив со старого сервера на новый. Делается это при помощи команды:

wget http://site.ru/site.zip

Эта команда скачает архив со старого адреса и положит в нашу папку. Теперь нам нужно этот архив распаковать. Делается это при помощи команды:

unzip site.zip

Сайт распакуется в папку. Далее нам нужно при помощи mc перенести сайты из полученной папки на уровень выше и приступать к восстановлению базы данных. Для этого нужно сначала создать пустую базу данных. Сделать это легче всего при помощи все той же панели управления сервером. Затем при помощи команды:

mysql -u dbuser -p -f dbname < db.sql
dbpasswprd

восстанавливаем базу данных из дампа. Здесь dbuser и dbname это база данных и пользователь базы данных на новом сервере, которые мы только что создали. Дальше, если имя базы данных и пароль различаются на старом и новом сервере, то нужно их так же поменять в конфигурационных файлах сайта и удалить наши архивы сайта и дамп базы данных.

На этом в принципе перенос сайта закончен. Осталось убедиться в работоспособности сайта. Для этого, еще не делегировав домен на новый сервер прописываем строчки:

127.0.0.1            site.ru

в файл hosts, что располагается в основном в папке etc. Здесь вместо 127.0.0.1 вписываем IP нового сервера, а site.ru, как думаю понятно, домен Вашего сайта. Сохраняем изменения. Данная операция позволит делегировать Ваш сайт на новый сервер только для Вашего компьютера. Теперь набирая адрес Вашего сайта Вы будете просматривать его с нового сервера, то есть сможете убедиться как он будет работать, когда Вы делегируете домен на новый сервер. Если все работает корректно, убираем эту запись и делегируем домен на новый сервер.

Конечно такой способ переноса сайта несколько сложнее, чем допустим если переносить сайт через панель управления сервером. Но если у вас очень медленный интернет или объем сайта исчисляется гигабайтами или версии операционных систем старого и нового сервера отличаются, то так будет быстрее и надежнее.

Add a Comment

Ваш e-mail не будет опубликован.