Каждый владелец VDS сервера рано или поздно замечает, что памяти не то что не хватает, а постоянно используется память соседей. На firstvds, у которых я держу большую часть своих сайтов, настройки серваков позволяют при необходимости забирать оперативку у соседей, если, конечно, у них имеется свободная озу. В результате ваши сайты все-таки открываются, хоть и более медленно. Но не каждому везет с соседями, поэтому рассчитывать на их оперативу не стоит. Лучше самому подготовиться к превышениям в использовании озу, установив nginx. В результате в моменты пиковых нагрузок вы все также будете пользоваться оперативой соседей, хоть и в меньшем количестве. Зато в остальное время будете любоваться в putty мегабайтами свободной оперативки и высокой скоростью открытия сайтов. В данной статье я расскажу как установить nginx на примере своего хостинга от FirstVDS, где у меня установлена FreeBSD.
Скажу сразу, что выполнить установку гораздо проще, чем это могло казаться вам раньше.
Предупреждения:
1) после выполнения описанного ниже, кроме увеличения производительности сервера, у вас исчезнет PhpMyAdmin и вам придется либо добавить его вручную, либо использовать скрипт dumper.php для работы с базой данных.
2) если у вас недостаточно знаний в области администрирования, то лучше доверьте это профессионалам
3) за все действия, выполненные на серверах, несете ответственность только вы.
Шаг номер ноль: делаем бекап (признаюсь, сам не делал, но предупредить обязан)
Шаг номер раз: логинимся под рутом в ISPmanager 4.3 Lite -> Настройки сервера -> Возможности -> включаем “Nginx – быстрый и лёгкий WWW сервер для кэширования”

Шаг номер два: в putty запускаем mc и набираем в нижней строке cd /usr/local/etc/apache22/extra

В открывшейся папке находим файл httpd-mpm.conf и редактируем его, нажав F4. Сверху будет блок , вот он то нам и нужен.
Я использую следующие значения параметров:
StartServers 2
MinSpareServers 2
MaxSpareServers 8
MaxClients 20
MaxRequestsPerChild 25
При этом вы можете изменить их на любые другие. Чтобы вы понимали, что меняете, приведу расшифровку каждого из указанных параметров:
1) StartServers – сколько процессов будет запущенно при старте
2) MinSpareServers – сколько процессов будет запущено минимум (даже при нулевой загрузке)
3) MaxSpareServers – сколько процессов будет запущено максимум
4) MaxClients – указывает максимальное число процессов httpd.
5) MaxRequestsPerChild – максимальное число отданных процессом страниц
Шаг номер три: подключаем Multi-Processing Module и уменьшаем объем памяти, занимаемый процессом httpd
Предварительно у каждого домена через ISPmanager меняем режим работы на “PHP как CGI”:

Затем через mc открываем на редактирование файл /usr/local/etc/apache22/httpd.conf
В нем нам необходимо:
1) раскомментировать строчку “Include etc/apache22/extra/httpd-mpm.conf” (поиск в редактируемом файле кнопкой F7)
2) закомментировать строчку “LoadModule php5_module libexec/apache22/libphp5.so”
3) закомментрировать строчку “LoadModule fcgid_module libexec/apache22/mod_fcgid.so”
4) перезапустить апач в консоли командой: apachectl -k restart
Вуаля, все готово.
P.S.: Не все знают, как узнать – превышают ли они выделенную оперативку на сервере или нет. Поэтому рассказываю:
1) логинимся по ssh
2) выполняем команду top
3а) если слева сверху написано
Mem: XXXM Active, YYYM Inact
то вы превышаете объем выделенной вам оперативки на YYYмб
3б) если там же написано
Mem: XXXM Active, YYYM Free
То, все нормально в данный момент и из всей доступной оперативы (XXXмб) у вас свободно YYY метров.





