Re: php сессии, nfs и тд

Sergey Shepelev temotor at gmail.com
Sun May 10 22:11:06 MSD 2009


Господи, так вы про деплой. Так бы и сразу: "php, статика".

Ни в коем случае нельзя для этого NFS. И вообще никаких сетевых
хранилищ тут не надо. Это обычные локальные файлы.

Вам (а по хорошему наверное, вашим программистам) надо написать
скрипт, который будет кидать статику на фронтенды с nginx, php на
бекенды с апачами. У меня для этой цели свои 40 строк на баше. Есть
также интересные решения типа capistrano, fabric, которые отличаются
тем что подключаются по ssh ко всем серверам одновременно, то есть
скорость выката быстрее.
Но основная идея этого скрипта примерно в следующем:
git archive master | tar x   или   svn export
rsync на все бекенды
killall -HUP всем бекендам. Соответственно, для кучи машин по ssh.

Это плохой вариант, но вполне сгодится вначале.
Хороший вариант:

Фронтенды проксируют на бекенды, которые работают в /opt/project/stable

Выкат:
git archive master | tar x   или    svn export    в новую директорию
(каждый раз новая)
rsync на все бекенды
потом через ssh на всех бекендах переключаем симлинк
/opt/project/current на вот эту новую директорию
и запускаем бекенды (да, для current они были выключены)
по специальному урлу типа beta.project.com фронтенды проксируют на
current. Тестируем на живых данных. Если все работает - переключаем
симлинк stable на новую директорию. И перезапускаем все бекенды.

2009/5/10 Алексей <me at bus58.biz>:
> Просто мы используем и мемкэш и сессии.  Видимо надо сказать разработчикам
> чтобы использовали только мемкэш, пока мы еще в стаидии беты и легко все
> поменять.
>
> А файлы меняются все-  .php , статика и тд.  Всмысле програмисты каждый день
> чтото дописывают и это льется на сервак.  Пока это вручную отправляется на
> nginx и php машины, но вот что делать когда машин станет много. поэтому я и
> задумался над nfs
>
> Борис Долгов wrote:
>>
>> Сессии можно хранить в одном memcached. Какие файлы помимо сессий
>> меняются? Если они не нужны скрипту - то их лучше хранить на фронтэнде.
>>
>> 10 мая 2009 г. 15:36 пользователь Алексей <me at bus58.biz
>> <mailto:me at bus58.biz>> написал:
>>
>>    Добрый день ,коллеги.
>>
>>    Есть высоконагруженный проект- 3 машины- грубо говоря nginx ,база
>>    ,пхп(апач).
>>    Так вот в недалеком будущем будут еще пхп машины .
>>    Вопрос-Как хранить для всего этого контент который меняется не раз
>>    в месяц а по 30 раз на дню.
>>    у меня 2 варианта- NFS или копировать все както по скрипту.
>>
>>    И потом когда есть несколько скриптовых машин то как работают php
>>    сессии ? они же хранятся гдето в 1 месте . и если человек придет
>>    на другую машину то там их не будет,  если только сессии со всех
>>    машин не хранить в nfs.  и подхватят ли тогда апачи сессии
>>    сделанные другой машиной.
>>    Вопрос наверное глупый, но просто раньше не сталкивался с этим...
>>
>>    И второй вопрос- насколько я знаю весь контент (которого мегабайт
>>    40, не больше) автоматом  кэшируется в оперативку ,читается оттуда
>>    и перечитываетс в случае модификации.  Что будет с nfs ?  ведь
>>    если не закэшируется то это сотни раз в секунду по сети грузятся
>>    (пусть и маленькие)  файлы.
>>
>>
>>    С уважением,Алексей
>>
>>
>>
>>
>> --
>> С уважением, Борис Долгов.
>> icq 77556665
>> e-mail boris at dolgov.name <mailto:boris at dolgov.name>
>
>


More information about the nginx-ru mailing list