5 грешки, които мъжете правят, когато момиче \ "се отдръпне \" | НЕ правете това, ако тя губи интерес

Престоят е неудобен за потребителите и в момента те трябва да изчакат всеки път, когато двигателят на даден сайт се надгражда. Освен това, когато използвате готови скриптове, съществува риск промяната на настройките да не работи така добре, както е предвидено (дори ако те са били тествани на място за провеждане).

Как мога да запазя множество версии на даден сайт на сървър и да превключвам между тях, без да причинявам престой (напр. С файл htaccess)?

На Linux / BSD машина ли сте? Ако е така, можете лесно да използвате символични връзки, за да постигнете тази цел.

Създайте версия 1 на сайта тук:

/var/www/www.example.org.v1 

Създайте символична връзка, сочеща към тази директория

cd /var/www ln -s www.example.com.v1 www.example.com 

Това трябва да ви даде списък с директории (ls -la), което изглежда по следния начин:

lrwxr-xr-x 1 userid users 18 Aug 3 03:35 www.example.com -> www.example.com.v1 drwxr-xr-x 2 userid users 512 Aug 3 03:35 www.example.com.v1 

Настройте вашия уеб сървър да използва /var/www/www.example.com като корен на документа. Никога няма да се наложи да промените това; всички пренасочвания ще се извършват на ниво файлова система.

Сега, когато искате да разменяте във версия 2 на сайта, всичко, което трябва да направите, е да поставите новата версия в:

/var/www/www.example.org.v2 

И актуализирайте символичната връзка, за да сочи към тази версия:

ln -sfh www.example.com.v2 www.example.com 

Което ще остави изхода на вашата директория да изглежда така:

lrwxr-xr-x 1 userid users 18 Aug 3 03:43 www.example.com -> www.example.com.v2 drwxr-xr-x 2 userid users 512 Aug 3 03:42 www.example.com.v1 drwxr-xr-x 2 userid users 512 Aug 3 03:41 www.example.com.v2 

Както можете да видите, символичната връзка www.example.com сега сочи към Версия 2 на вашия сайт. Това е атомна операция и не трябва да причинява престой, свързан с липсата на файлове.

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

Windows Vista и Server 2008 също поддържат символни връзки с помощта на mklink команда, макар че нямам пряк опит с тях.

Можете да използвате виртуални хостове в apache, за да имате 2 версии на кода на 2 различни URL адреса. Често използван пример е:

test.example.com -> /var/www/version1.2

www.example.com -> /var/www/version1.1

и двете са на един и същ сървър, но може би само един е достъпен за света. След като се убедите, че test.example.com работи, можете просто да промените къде те сочат във вашата конфигурация на apache и ... presto. Нов сайт, нов код. Ако приемем, че няма промени в схемата на базата данни, това трябва да работи. Така че след като направите промяната, тя ще бъде:

test.example.com -> / var / www / newtestversion

www.example.com -> /var/www/version1.2

Ето примерна конфигурационна директива на apache за виртуален хост:

 ServerAdmin [email protected] DocumentRoot '/var/www/version1.1' ServerName test.example.com  

За повече информация как да направите това вижте документацията за виртуалния хост на apache

Не съм сигурен как да направя това в IIS, но предполагам, че има и начин.

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

В IIS можете да настроите втора виртуална директория с вашите актуализации.

След това пренасочвате всички заявки или преназначавате връзките на втория сайт към желаното от вас име на хост

Http пренасочване в IIS 7: http://technet.microsoft.com/en-us/library/cc732930(WS.10).aspx

Какво бих предложил:

  • Тествайте локално на сървър за разработка, преди да качите някакви промени.Не правете промените на сървър на живо, докато не сте напълно сигурни, че работи на тестовия сървър.
  • Извършвайте поддръжка при най-малко натоварено време. За повечето уебсайтове това ще бъде в ранните сутрешни часове през почивните дни. Ако почивните дни не са опция, направете го по време на най-малкото трафик през седмицата.
  • Предупредете вашите потребители за планирана поддръжка преди време.
  • Има ли начин просто да настроите множество версии и безпроблемно да превключвате между тях?
  • Не съм го правил преди, но бих си представил, че можеш да го направиш чрез настройка на множество сървъри или виртуален сървър. Ако това е, което търсите, може да се окаже по-добър въпрос за ServerFault.
  • @Simon: Да, използвайте WampServer и инсталирайте различните модули за различни версии на Apache, PHP и MySQL, за да съответстват на сървъра на живо - wampserver.com/en

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?