pm
У нас на руси испокон веку принято вместо lighttpd использовать nginx :)
--
Алексей Тутубалин
Web: http://blog.lexa.ru
mailto:le...@lexa.ru
>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>> thttpd. так же нужна поддержка виртуальных хостов. что порекомендуете?
>> кроме apache.
>> о lighttpd отрицательные мнения есть?
AT> У нас на руси испокон веку принято вместо lighttpd использовать nginx :)
А разве для PHP ему не нужен backend? Я внимательно документацию не
читал, но сложилось очучение, что PHP - на backend только...
--
Best regards, Alex Bakhtin, CCIE #8439
AMT Group, Cisco Systems Gold Partner, http://www.amt.ru
31 Oct 07, Alex Bakhtin writes to Alex Tutubalin:
AT>> У нас на руси испокон веку принято вместо lighttpd использовать nginx
AT>> :)
AB> А разве для PHP ему не нужен backend? Я внимательно документацию не
AB> читал, но сложилось очучение, что PHP - на backend только...
по любому -- или модуль в апач или cgi с урезанной функциональностью. третьего
не дано.
... Спать ложился pано утpом, вечеpами все звонил кому-то... (c) Сплин
( ru.unix.bsd ) ( 31 окт 2007 10:50 ) ( твоя -> Alex Tutubalin )
>>> для httpd нужна поддержка php. хотелось бы обойтись легковесным
>>> типа thttpd. так же нужна поддержка виртуальных хостов. что
>>> порекомендуете? кроме apache. о lighttpd отрицательные мнения
>>> есть?
AT>> У нас на руси испокон веку принято вместо lighttpd использовать
AT>> nginx :)
AB> А разве для PHP ему не нужен backend? Я внимательно документацию
AB> не читал, но сложилось очучение, что PHP - на backend только...
Hет, php к nginx'у можно через fastcgi подцепить.
= Самая мучительная смерть для феечки - ванна с кефиром.
30 Oct 07 22:28, you wrote to Pavel Makarenko:
AT> Pavel Makarenko wrote:
>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>> thttpd. так же нужна поддержка виртуальных хостов. что
>> порекомендуете? кроме apache. о lighttpd отрицательные мнения есть?
AT> У нас на руси испокон веку принято вместо lighttpd использовать nginx
AT> :)
Заточка от lighthttpd, запускающая php-fcgi процессы _плюс_ nginx. Сам по себе
nginx имеет только встроенный перл.
Andrey
31 Oct 07 10:18, you wrote to Alex Bakhtin:
>>>> для httpd нужна поддержка php. хотелось бы обойтись легковесным
>>>> типа thttpd. так же нужна поддержка виртуальных хостов. что
>>>> порекомендуете? кроме apache. о lighttpd отрицательные мнения
>>>> есть?
AT>>> У нас на руси испокон веку принято вместо lighttpd использовать
AT>>> nginx :)
AB>> А разве для PHP ему не нужен backend? Я внимательно
AB>> документацию не читал, но сложилось очучение, что PHP - на
AB>> backend только...
AT> Hет, php к nginx'у можно через fastcgi подцепить.
Да, и это будет как Маркс и Энгельс: два разных процесса.
Andrey
spawn-fcgi от lighttpd - не единственный вариант. Как минимум, есть
ещё патч php-fpm. Hу и сам php умеет fast cgi, хотя по слухам, вроде
кривовато.
--
Spartak Radchenko SVR1-RIPE
>>>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>>>> thttpd. так же нужна поддержка виртуальных хостов. что
>>>> порекомендуете? кроме apache. о lighttpd отрицательные мнения есть?
AO>> Заточка от lighthttpd, запускающая php-fcgi процессы _плюс_ nginx.
AO>> Сам по себе nginx имеет только встроенный перл.
SR> spawn-fcgi от lighttpd - не единственный вариант. Как минимум, есть
SR> ещё патч php-fpm.
Мнэ, несоветую.
SR> Hу и сам php умеет fast cgi, хотя по слухам, вроде кривовато.
А что с ним не так? Отзывы сплошь положительные. Я его, правда,
не стал использовать, ровно потому, что патч. Hо у знакомого
на сервере крутится, тот доволен.
--
Spartak Radchenko SVR1-RIPE
Все так же, как у light - FastCGI и поехали.
> AT> Hет, php к nginx'у можно через fastcgi подцепить.
> Да, и это будет как Маркс и Энгельс: два разных процесса.
С лайти то же самое. Или fastcgi или cgi, в обоих случаях
процессы разные.
>>>>>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>>>>>> thttpd. так же нужна поддержка виртуальных хостов. что
>>>>>> порекомендуете? кроме apache. о lighttpd отрицательные мнения есть?
AO>>>> Заточка от lighthttpd, запускающая php-fcgi процессы _плюс_ nginx.
AO>>>> Сам по себе nginx имеет только встроенный перл.
SR>>> spawn-fcgi от lighttpd - не единственный вариант. Как минимум, есть
SR>>> ещё патч php-fpm.
VG>> Мнэ, несоветую.
SR> А что с ним не так? Отзывы сплошь положительные. Я его, правда,
SR> не стал использовать, ровно потому, что патч. Hо у знакомого
SR> на сервере крутится, тот доволен.
Если одним словом - неаккуратное оно.
В патче присутствует libevent целиком и куски другого патча,
куски php5 в патче для php4, много где отсутствуют проверка
ошибок, например в вызовах setuid/setgid(!)
Логика местами запутана, используются побочные эффекты
(типа два экрана выше мы переназначили STDERR в /dev/null
типерь переназначим STDOUT в STDERR)
Кстати о /dev/null, там есть такой код:
int fd = open("/dev/null", 0);
if (0 > fd) {
zlog(ZLOG_STUFF, ZLOG_SYSERROR, "open(\"/dev/zero\") failed");
return -1;
}
Hу использование xml неподелу можно списать на мою вкусовщину.
Вот сижу и думаю, можно ли его причесать или проще переписать наново.
AT> Pavel Makarenko wrote:
>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>> thttpd. так же нужна поддержка виртуальных хостов. что
>> порекомендуете? кроме apache. о lighttpd отрицательные мнения есть?
AT> У нас на руси испокон веку принято вместо lighttpd использовать nginx
AT> :)
с lighttpd у меня все заработало нормально, в его секции модуля fastcgi
указывается путь к бинарнику cgi-php. работаю через unix сокет.
для nginx такого параметра нет, только unix/ip сокет - надо понимать, что
сервер fastcgi для использования с php надо стартовать отдельно?
pm
AT> Хай.
AT> ( ru.unix.bsd ) ( 31 окт 2007 10:50 ) ( твоя -> Alex Tutubalin )
>>>> для httpd нужна поддержка php. хотелось бы обойтись легковесным
>>>> типа thttpd. так же нужна поддержка виртуальных хостов. что
>>>> порекомендуете? кроме apache. о lighttpd отрицательные мнения
>>>> есть?
AT>>> У нас на руси испокон веку принято вместо lighttpd использовать
AT>>> nginx :)
AB>> А разве для PHP ему не нужен backend? Я внимательно
AB>> документацию не читал, но сложилось очучение, что PHP - на
AB>> backend только...
AT> Hет, php к nginx'у можно через fastcgi подцепить.
где можно увидеть рецепт?
pm
>> AT> У нас на руси испокон веку принято вместо lighttpd использовать
>> nginx :)
>>
>> А разве для PHP ему не нужен backend? Я внимательно
>> документацию не читал, но сложилось очучение, что PHP - на backend
>> только...
AT> Все так же, как у light - FastCGI и поехали.
я не нашел примера конфигурации, пальцем не ткнешь?
pm
> AT> Все так же, как у light - FastCGI и поехали.
> я не нашел примера конфигурации, пальцем не ткнешь?
Я недавно сделал fastcgi конфигурацию для cacti и nginx. Для этого
потребовалось поставить sysutils/damontools и www/lighttpd. php5 с
поддержкой fastcgi уже стоял. Далее запуск fastcgi делается через
svscan из daemontools скриптом /var/service/spawn-fcgi/run:
#!/bin/sh
exec 2>&1
exec /usr/local/bin/spawn-fcgi -f /usr/local/bin/php-cgi
-s /var/run/spawn-fcgi/spawn-fcgi.sock -C 5 -u www -g www
-P /var/run/spawn-fcgi/spawn-fcgi.pid -n
lighttpd понадобился именно из-за наличия в нем spawn-fcgi. А вот часть
конфигурации nginx:
location /cacti/ {
root /usr/local/share;
index index.php;
expires 1d;
}
# Запросы к PHP страница нужно отправить fastcgi.
location ~ ^/cacti/.+\.php$ {
fastcgi_pass unix:/var/run/spawn-fcgi/spawn-fcgi.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param
SCRIPT_FILENAME /usr/local/share$fastcgi_script_name;
}
--
DSS5-RIPE DSS-RIPN 2:550/5068@fidonet 2:550/5069@fidonet
xmpp:d...@vlink.ru mailto:d...@vlink.ru http://wizard.volgograd.ru/
DS> From: Denis Shaposhnikov <d...@vlink.ru>
DS> On Sun, 04 Nov 2007 19:21:55 +0300
DS> Pavel Makarenko <Pavel_M...@f14.n5025.z2.fidonet.org> wrote:
>> AT> Все так же, как у light - FastCGI и поехали.
>> я не нашел примера конфигурации, пальцем не ткнешь?
DS> Я недавно сделал fastcgi конфигурацию для cacti и nginx. Для этого
DS> потребовалось поставить sysutils/damontools и www/lighttpd. php5 с
DS> поддержкой fastcgi уже стоял. Далее запуск fastcgi делается через
DS> svscan из daemontools скриптом /var/service/spawn-fcgi/run:
Когда мне понадобился php4 для локального phpmyadmin (nginx и sudo там уже
стоял, php4 собран с fast cgi), я сделал так:
кусок nginx.conf:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
Процесс php стартую таким скриптом из rc.d:
#!/bin/sh
echo "Run php4 fastcgi server on port 9000"
export PHP_FCGI_MAX_REQUESTS=500
export PHP_FCGI_CHILDREN=4
export FCGI_WEB_SERVER_ADDRS=127.0.0.1
/usr/local/bin/sudo -u www /usr/local/bin/php -b 127.0.0.1:9000 2>/dev/null
1>/dev/null &
По хорошему надо было сделать нормальный скрипт со start|stop|restart, да
лениво было.
При нагрузочном тестировании (с помощью ab от апача) вылез один скользкий
момент - если не задать переменные PHP_FCGI_MAX_REQUESTS и PHP_FCGI_CHILDREN,
процесс php fast cgi после обработки какого-то количества запросов начинает
вести себя некорректно (вместо того, чтобы спокойно перезапустить дочку и
работать дальше).
Если задать эти переменные - работает замечательно, жалоб нету, нагрузку вроде
держит (хотя конечно особо сильно на подлых скриптах не тестировал, так на
паре страниц наугад из упомянутого phpmyadmin с помощью ab в 10ть потоков
помойму, по 10000 запросов вроде - живет нормально, в кору не падает, по
памяти особо не пухнет, после теста работает так же без перезапуска).
Hасколько я понимаю, слухи о несовсем корректной работе php4 в режиме fastcgi
растут из-за невыставления этих переменных... Или были еще какие-то жалобы?
p.s. Я конечно понимаю, что это некропостинг, но подумал, что мой опыт может
кому нибудь помочь.
p.s.s. Все было на current полугодовалой давности.