Настроиваем VPS с 128mb

VPS

Нам всегда хочется сэкономить где-нибудь. Возникают ситуации, когда надо приобрести недорогой VPS. У дешевых тарифов дается мало ОЗУ — от 64 до 128 мегабайт.

Но это не проблема при правильной настройке сервера.

Код будет писаться под ОС Debian, так как он мне больше всего импонирует как ОС для web-сервера.

Ставим все необходимое для сборки:

apt-get install -y php5-dev bzip2 make

Компилируем eaccelerator, который отвечает за ускорение и оптимизацию PHP:

cd /usr/src
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar -xf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
phpize
./configure
make install

Очищаем систему после сборки:

apt-get remove php5-dev
cd
rm -rf /usr/src/eaccelerator-0.9.6.1
rm -f /usr/src/eaccelerator-0.9.6.1.tar.bz2

Создаем конфиг файл:

vi /etc/php5/conf.d/eaccelerator.ini

Вариантов подключения к PHP два — Zend Extension и обычное расширение.

Вот стандартный конфиг:

extension="eaccelerator.so"
# eaccelerator.shm_size="16" # иначе получите проблемы на своем VPS
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Это оптимизированный из интернета:

extension="eaccelerator.so"
; размер shm памяти в мегабайтах
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
; памяти у нас много, будем кэшировать в ней
eaccelerator.shm_only="1"
; рекомендую отлючить
eaccelerator.compress="0"
eaccelerator.compress_level="9"

Осталось создать папки для кэша вручную. Это связано с проблемами работы скриптов Web-сервера от разных пользователей (в особенности FastCGI и Апач). Я с этим не заморачиваюсь и иногда просто подбираю нужного пользователя для папок.

Кстати, в случае SHM памяти все будет очень безопасно по причине, что shm блоки будут создаваться от имени пользователя, от которого запускается скрипт. Так что самый лучший вариант в случае FastCGI — отключение файлового кэша и расположение скомпилированного кода только в shm.

Это в случае использования только shm не требуется:

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

А испытать работоспособность можно командой:

php -m | grep eAcc
eAccelerator

И, наконец, перезапускаем Апача:

/etc/init.d/apache2 restart

Еще хочу добавить, что после установки eaccelerator, может перестать работать phpmyadmin. Если это произойдет, то для исправления этого вносим в конфигурационный файл apache для phpmyadmin, следующую настройку:

Файл находится тут: /etc/phpmyadmin/apache.conf

<Directory /usr/share/phpmyadmin>
php_admin_value eaccelerator.enable 0
</Directory>

Если есть какие-то вопросы или дополнения, пишите, будет разбираться вместе.

Оцените статью
( Пока оценок нет )
Блог Ичи

Добавить комментарий

  1. Pasagir

    Печально..написал коммент..а он не опубликовался..

    В общем — ВПС — это сложно для меня, но вообще нужно. Ибо это намного выгоднее стандартного хостинга..

    Ответить
    1. Ichi автор

      Я в начале тоже думал, что это сложно. У меня было несколько VPS и все хорошо настроили админы хостера, лишь только один пришлось корректировать под нужды определенного сервиса для выполнения специфичных задач. Хотя тут очень помогает панель cPanel или ISPmanager — выглядит, как обычный шаред хостинг, но без ограничений.

      Ответить