Posts Tagged ‘nginx’

Плагин Really Static, Статичный Wordpress, nginx и eAccelerator

Я тут озаботился снижением нагрузки на сервак, чтоб уж совсем все в шоколаде было. У мя фронтендом стоит nginx. Он отдает статику по расширениям картинок, джаваскриптов и тд. Если к этому правилу не подошло и файл не существует, то он отдает дальше на апач и закеширует ответ. Соотвественно апач все как обычно разруливает.

Про php-fpm и php-fastcgi знаю, не подумайте, что совсем дурак)), мне легче использовать апач, чем мучаться, например с редиректами. Время будет, может и улучшу в эту сторону.

В основном использую на сайтах вордпрессы. Соотвественно выделил два решения для снижения нагрузки:
1) Поставить eAccelerator, он сохраняет скомпилированные PHP скрипты в разделяемой памяти и запускает код непосредственно из нее.
2) Поставить на тяжелые вордпрессы плагин Really Static.

Дальше распишу подробнее об установке, php-devel, bzip и тд уже мя стоят.
Следуем этой инструкции.


cd /usr/src
wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2
tar -jxf eaccelerator-0.9.6.tar.bz2
cd eaccelerator-0.9.6
phpize
./configure --enable-eaccelerator=shared
make
make install
mkdir /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator

Если все поставилось, то идем директорию с php.ini, у меня например /etc/php5/apache/php.ini и прописываем настройки акселераторора.

extension="eaccelerator.so"
eaccelerator.shm_size="16"
;папка кеша, с правами на запись
eaccelerator.cache_dir="/var/cache/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="5"

Перезапускаем апач и вуаля. У меня, например, нагрузка сильно упала, а использование памяти вордпрессса чуть ли не в десять раз сократилось.

Итак, скрипты кешируются, все в ажуре, но меня и это не остановило. Почему бы не сделать страницы вордпресса статичным, чтоб их отдавал только nginx, не касаясь апача.

Качаем Плагин Really Static. Распаковываем, стандартно ставим, идем в настроки плагина.
Я использую английский язык в вордпрессе, поэтому описание пунктов на инглише.

Во вкладке Source, проставляем урл нашего блога и урл к используемой теме блога.
Во вкладке Destination выбираем work with local filesystem, прописываем путь внутри файловой системы до файлов блога.
В settings можно ничего не менять, я поставил галочку в “Don’t copy any linked file”.
Дальше идем в Manual Refresh и жмем кнопку write all files.

Если выскочит ошибка, то скорей всего нет прав на запись в корень блога или неправильно его указали в настройках файловой системы.
Если все прошло ок, то в корне вашего блога образуются статичные хтмл файлы вордпресса.

Предчувствую, что у многих могут возникнуть проблемы с пермалинками, у меня такой формат “/%category%/%postname%.html”.

Плгин можно использовать что, размещать сайты на которых нет mysql, те мы наполняем блог дома, а потом размещаем статичные файлы на фтп. Из минусов, не будет доступна динамика, например комменты.

', ) widget init imoney_adsense_2 sapecontext worked links in content worked iMoneyDebugLogEnd --->