Настройка и оптимизация vps на CentOS

Последнее обновление: 08.06.2010
Многие говорят, что wordpress очень тяжёлый движок и использовать его под нч доры просто роскошь. Я тоже так подумал, когда мой виртуальный сервер лёг всего лишь на 18 дорах, причём совершенно без трафа. Думал временно, перезагружал apache и mysql в надежде на запуск, но сервер ложился снова и снова…. Как оказалось, дело было не в wordpress, а в самом сервере. Я оптимизировал сервер, причём без каких-либо трудностей, в Kloxo это легко. Теперь спокойно держу на одном виртуальном сервере 800 дорвеев на wordpress 8)

1. Сокращение использования памяти MySQL

По умолчанию MySQL использует много оперативной памяти, поэтому необходимо ограничить MySQL в потреблении ресурсов, тем более если используется дешёвый vps.
Проще всего отредактировать уже существующий файл конфигурации my.cnf, обычно файл my.cnf находится здесь /etc/my.cnf, чтобы его отредактировать воспользуемся встроенным редактором Vi. Им пользоваться одно удовольствие не очень удобно, потому что он – это просто какая-то запутанная залупа имеет сложный и не понятный интерфейс, но привыкнуть можно, причём выполнять некоторые операции в Vi можно намного быстрее, чем в привычном редакторе.
Открываем SHH-клиент putty и вводим команды:
  • cd /etc //переходим в папку с файлом my.cnf
  • vi my.cnf //открываем файл
    У Vi несколько режимов работы, причём в основном режиме vi воспринимает каждое нажатие на клавишу, как команду.
  • нажимаем на клавишу i //переходим в режим ввода
    <Insert> – должно появиться внизу окна
  • открываем файл my-lxadmin-centos.txt в блокноте и копируем всё содержимое файла ctrl+C и вставляем одним нажатием правой кнопки мыши.
  • нажимаем <ESC>, чтобы перейти в обычный режим.
  • вводим Shift+ZZ чтобы сохранить файл и выйти.
  • /etc/init.d/mysqld restart //перезапускаем MySQL
Теперь MySQL использует около 25 мб оперативной памяти, особенно важно для kloxo (по умолчанию в kloxo MySQL потребляет целых 125 мб оперативки)

2. Устанавливаем лёгкую версию веб-сервера – Lighttpd

  • yum install lighttpd //устанавливаем Lighttpd
    ИЛИ
  • yum install -y lighttpd lighttpd-fastcgi php-cli //устанавливаем Lighttpd с PHP
  • chkconfig lighttpd on //включаем Lighttpd в автозагрузку
  • /etc/init.d/lighttpd start //запускаем Lighttpd предварительно не забыв отключить веб-сервер, уже установленный и запущенный. Иначе порт 80 будет занят.
Посмотреть настройки можно здесь.
В kloxo всё очень просто: в Servers выбираем сервер, переходим в Switch Program и меняем apache на Lighttpd.

3. Заменяем bind на djbdns

В kloxo заменил в Switch Program bind на djbdns.
Более подробно о настройках и установке можно узнать здесь.

4. Вывoды:

  • На моём vps потребление оперативной памяти снизилось с 320 до 50 мб
  • Существует много альтернативных вариантов программного обеспечения сервера, гораздо менее требовательного к ресурсам, но ничем не уступающего, например apache можно заменить на:
  • Cherokee
  • Hiawatha
  • Lighttpd
  • Nginx
  • thttpd
P.S. Редактировать файлы конфигурации можно из панели управления сервера (например kloxo), через менеджер файлов =)
P.S.#2 Настройки mysql предназначены для очень слабых vps, с оперативной памятью от 64 mb, для более мощных серверов следует увеличить параметры.
Внимание!!! Обнаружен баг!!! При создании большого количества субдоменнов (да и доменов) по какой-то причине не у всех субдоменов правильно прописываются права на файлы, из-за чего Lighttpd останавливается.
(mod_accesslog.c.537) opening access-log failed: Permission denied /home/httpd/some-domaine.com/stats/some-domaine.com-custom_log 
(server.c.897) Configuration of plugins failed. Going down. 
Можно пофиксить изменением этих самых прав. Если доменов/субдоменов много, то можно это сделать массово с помощью SHH используя команду chmod:
  • chmod 770 file_1 file_2 … file_n
Может зависнуть сама панель, для перезагрузки используется команда:
  • /script/restart

Comments