ПредишенСледващото

Изглежда, че е сложно да се премести на мястото на друг сървър? Вероятно много от нас са копирани първия си houmpeydzhi с хостинг хостинг в търсене на по-добре, докато все още в гимназията или в първите университетски курсове. Или виси на ръководството на ушите юфка, ние обясни, че този проблем не бъде решен веднага и на сайта ежедневно няма да работи, защото DNS такова нещо ...

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

Колко отнема? на сайта няма да работи много по-ценни минути \ не работи правилно?

Някак си, аз не намирам никакви статии по Хабре, така че реших да напиша няколко трика как да се движат тромавата дизайн или няколко, така че шефа е доволен от стабилна работа на сайта.

Всичко това е вярно за повечето сайтове, написани на PHP, за администратори сблъскват с проекти, които не използват рамката, CMS и главата, когато пишете код.

1. Прехвърляне на файлове

Най-добрият начин да се през SSH с използване Rsync:

Така Rsync синхронизира папки постепенно, което означава, че са само копия - какво липсва и не искаше да докосне нещо ново. Например, можете да напишете една малка Баш скрипт, който ще синхронизира всички папки от стария сървър към новия DNS по време на актуализацията, но все пак най-добрият вариант би бил за няколко дни, за да синхронизирате папката с ключ -н (-Сухо управляван), само за да видите разликата. Мисля, че документацията за Rsync намиране на решения на всички проблеми в синхронизацията на файлове. Програмата трябва да бъде инсталиран и на двата сървъра.

Чрез FTP Rsync протокол не може да работи, а след това използвайте lftp:

2. Прехвърляне на MySQL база данни за пример

От двете машини се отвори порт на сървъра MySQL в света:

Аз ще напиша пример за това как правя резервни копия всеки ден, рязане от logrotate.d:

Защо не класически «mysqldump -u корен база данни -p> dump.sql»? След това мнение, няма да бъдат запазени и съхранени процедури. Правилно правят сметища MySQL Workbench, от там взех командата.

Освен това, в променливата $ CMD добавите -h ip_staryy_server и промяна на линията $ CMD $ аз | софтуерна -C> /srv/dumps/$i/$i.sql.gz на:

Разбира се, първо трябва да се създаде базата данни:

3. Пренасочване на всички връзки към Localhost: 3306 - старата сървъра към новия сървър

Много просто, използвайки SSH тунел (предварително спиране на MySQL):

И SSH се изисква само на локалната машина. проверете:

Получаваме отдалечен MySQL сървър на локалната машина. Всичко е добре, но ако клиентът MySQL вижда, че връзката е направена, за да Localhost след това се свързва със сървър чрез местен гнездо и без корекция на си върши, така че не може да се отбие. Т.е.

Или както обикновено, пишем в сценария:

Няма да работи, тъй като такова съединение ще се обработват с помощта на местно гнездо. Разбира се, че може да отиде да тичам по протежение на връзките на сайта и да се замени Localhost да 127.0.0.1 или външен IP сървър, вече е спечелил, но има по-добър начин.

Намерете само съвпада с текст Localhost и се заменя с нещо друго, като lacalhost, в двата файла. След локална връзка ще работи през TCP / IP! Единственото нещо, MySQL не позволява на потребители, които имат отдалечен хост може да бъде само в Localhost привилегиите. Това трябва да се коригира в% по време на прехвърлянето.

Прескочи Настройки уеб сървър на тази тема е пълен с материали.
В резултат на това ние имаме два работни машини с един сървър на база данни. Спокойно преконфигурира DNS и отивам да спя!

послепис Така че тя дойде с идеята да прокси искания от стария сървър към новата чрез Nginx. Има ли някой направи това?

Подкрепете проекта - споделете линка, благодаря!