Сайт вебмастера

FastCGI и CodeIgniter, мой новый сайт и секрет небольшой памяти

30-04-2008Reading time ~ 2 min.Блог 23122

Пост-солянка. :)

1. На новом сервере я включил PHP как FastCGI. Скорость тестового сайта несколько увеличилась (примерно в 2 раза). Это на WordPress. Теперь я решил поставить другой сайт на своей MaxSite CMS и как оказалось .htaccess при таком режиме работает как-то по другому. В частности при использовании ЧПУ, сервер выдает, что файл не найден.

Погуглив, выяснилось, что это довольно распространенная проблема. Перепробовав кучу вариантов, мне так и не удалось получить рабочий. Тогда я сообразил, что WordPress-то работает нормально, поэтому решил просто взять его .htaccess. Теперь пути заработали. Я даю свой .htaccess, но сразу заявляю, что без гарантий. Возможно, что этот вариант просто счастливо подошел под мой сервер.

Options +FollowSymLinks
Options -Indexes

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Но это еще не всё. Посколько в этом файле в index.php не передаются никакие параметры (из URL), то в CodeIgniter в файле config.php нужно указать способ обработки адресов.

У меня получилось так:

$config['uri_protocol'] = "REQUEST_URI";

Возможно эта информация кому-то окажется полезной.

2. Я запустил свой новый сайт max-3000.com. Планы пока раскрывать не буду, просто этот сайт будет уже работать на моей CMS. Кто желает может посмотреть. Система еще не готова (версия всего 0.09), поэтому просьба сильно не пинать.

3. Помните, я говорил, что не в курсе, почему мой сайт (до переезда) показывал столь малое потребление памяти PHP? Значение, которое выдает мой плагин maxsite-memory-usage? Так вот, путем небольших «ковыряний», я выяснил, что снижение происходит при включении php-расширения eAccelerator. Эта штуковина выполняет кэширование уже скомпилированных php-скриптов. Таким образом, при повторном выполнении сразу отдается уже готовый результат. Соответственно увеличивается скорость (в 2-3 раза) и уменьшается потребление памяти (в 5-10 раз).

Сказать что либо по нагрузке на сервере, ничего не могу. Статистика показывает примерно те же цифры, что и до включения eAccelerator'а. Скорее всего он более эффективен при большой посещаемости.

Related Posts
Comments (17) RSS
1 madhun 2008-05-01 10:56:54
На новом сервере я включил PHP как FastCGI.

Может задаю ламерский вопрос, но всё же: а как раньше был подключен РНР у вас на сервере? Модулем? Или простым CGI? Если модулем - хотите ли вы сказать, что РНР через FastCGI работает быстрее, чем подключение через модуль?


2 Random 2008-05-01 11:38:56

Было бы круто иметь цмску по функциональности и лёгкости управления подобную вордпрессу, но по скорости и требовательности к ресурсам его обгоняющую в разы.

Надеюсь у тебя такое получится :)


3 Заброшенные объекты 2008-05-01 11:54:25

У меня на одном сайте так и не работает - выдает что файл не найден. Может быть дело в хостинге?


4 Dimox 2008-05-01 12:09:32

Сори за возможно банальный вопрос - что означает "3000" в имени домена? :) Домен-то как эффектно звучит - Макс, да еще и ТРИ ТЫСЯЧИ :mrgreen:


5 Максим 2008-05-01 12:44:28

Насчет режимов PHP я ничего толком сказать не могу. Там слишком много особенностей. На сервере есть возможность указать разные варианты, вот я и попробовал. Получилось быстрей. По отзывам на других сайтах/форумах - вполне нормальная конфигурация.

2Dimox: Собственно ничего не обозначает. :) У меня этот ник уже давно (тогда все писали 2000, я же решил сразу на тысячу лет вперед - получилось 3000).


6 Пахом 2008-05-04 09:24:21

а для общественного использования кагда cms выложишь?


7 Riko 2008-05-04 10:47:56

Честно сказать незнал, что так можно Пых настроить... будем знать теперь спасибо!


8 Охотник на зелёных 2008-05-04 15:33:13

Хочу задать такой вопрос, а как обстоит дело с шаблонами (темами) под твою ЦМС? Или с WP подходят? Или из WP не сложно переделать?


9 Максим 2008-05-04 15:50:31

Шаблоны от WordPress не подходят, поскольку используются другие функции. В моей системе шаблон, на мой взгляд, и проще, и гибче. Из обязательных файлов только index.php - остальное на откуп разработчика. В дефолтном шаблоне будут примеры использования «по-полной» - это с учетом всех типов данных/страниц. Но возможно сделаю и вариант «мини» - предполагаю, что он будет совсем несложный.


10 seo 2008-05-05 04:32:25

Любопытно было бы о цмс-ке более подробно узнать.

Какие задачи она будет выполнять?


11 mazafaka 2008-05-14 11:02:10

Попробуй ещё nginx в связке с апаче и fastcgi :wink:


12 Максим 2008-05-14 11:16:12

У меня такого на сервере нет. ;)


13 mazafaka 2008-05-14 13:06:16

Такой надо ставить самому (в убунту, дебиан точно есть). Но с ним сервер выдержит в 3 раза минимум больше посетителей и сэкономит кучу RAMа который так злостно пожирает апач.


14 mazafaka 2008-05-16 12:26:06

Кстати новость в до гонку "Wordpress.com" перешёл на nginx

http://barry.wordpress.com/2008/04/28/load-balancer-update/


15 Дмитрий 2008-05-18 09:50:50

nginx+fastcgi рулят


16 Марат 2010-03-12 06:24:18

Спасибо за статью, выручил!!!


17 Rockufa 2010-05-26 06:25:57
RewriteRule ^(.+) index.php/$1 [QSA,L]

так будет правильнее указывать