Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

php

4 views
Skip to first unread message

Pavel Makarenko

unread,
Oct 30, 2007, 2:37:19 PM10/30/07
to
для httpd нужна поддержка php. хотелось бы обойтись легковесным типа thttpd. так же нужна поддержка виртуальных хостов. что порекомендуете? кроме apache.
о lighttpd отрицательные мнения есть?
апач для решения поставленной задачи явный overkill: нужно смотреть инфу,
отдаваемую софтом из порта www/sqstat

pm

Alex Tutubalin

unread,
Oct 30, 2007, 3:28:57 PM10/30/07
to
Pavel Makarenko wrote:
> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа thttpd. так же нужна поддержка виртуальных хостов. что порекомендуете? кроме apache.
> о lighttpd отрицательные мнения есть?

У нас на руси испокон веку принято вместо lighttpd использовать nginx :)

--
Алексей Тутубалин
Web: http://blog.lexa.ru
mailto:le...@lexa.ru

Alex Bakhtin

unread,
Oct 31, 2007, 3:50:34 AM10/31/07
to
>>>>> "AT" == Alex Tutubalin writes:
Привет,

>> для 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

Slawa Olhovchenkov

unread,
Oct 31, 2007, 4:03:58 AM10/31/07
to
Hello Alex!

31 Oct 07, Alex Bakhtin writes to Alex Tutubalin:

AT>> У нас на руси испокон веку принято вместо lighttpd использовать nginx

AT>> :)

AB> А разве для PHP ему не нужен backend? Я внимательно документацию не
AB> читал, но сложилось очучение, что PHP - на backend только...

по любому -- или модуль в апач или cgi с урезанной функциональностью. третьего
не дано.

... Спать ложился pано утpом, вечеpами все звонил кому-то... (c) Сплин

Anton Tolchanov

unread,
Oct 31, 2007, 3:18:38 AM10/31/07
to
Хай.

( 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 подцепить.

= Самая мучительная смерть для феечки - ванна с кефиром.

Andrey Ostanovsky

unread,
Oct 31, 2007, 4:34:52 AM10/31/07
to
Hello Alex!

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

Andrey Ostanovsky

unread,
Oct 31, 2007, 5:45:36 AM10/31/07
to
Hello Anton!

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

Spartak Radchenko

unread,
Oct 31, 2007, 6:24:33 AM10/31/07
to
Andrey Ostanovsky <Andrey.O...@f1957.n5030.z2.fidonet.org> wrote:
AO>
>>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>>> thttpd. так же нужна поддержка виртуальных хостов. что
>>> порекомендуете? кроме apache. о lighttpd отрицательные мнения есть?
AO>
AT>> У нас на руси испокон веку принято вместо lighttpd использовать nginx
AT>> :)
AO>
AO> Заточка от lighthttpd, запускающая php-fcgi процессы _плюс_ nginx.
AO> Сам по себе nginx имеет только встроенный перл.

spawn-fcgi от lighttpd - не единственный вариант. Как минимум, есть
ещё патч php-fpm. Hу и сам php умеет fast cgi, хотя по слухам, вроде
кривовато.

--
Spartak Radchenko SVR1-RIPE

Vlad Gnatov

unread,
Oct 31, 2007, 1:50:16 PM10/31/07
to
Wed Oct 31 2007 13:24, Spartak Radchenko wrote to Andrey Ostanovsky:

>>>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>>>> thttpd. так же нужна поддержка виртуальных хостов. что
>>>> порекомендуете? кроме apache. о lighttpd отрицательные мнения есть?

AO>> Заточка от lighthttpd, запускающая php-fcgi процессы _плюс_ nginx.
AO>> Сам по себе nginx имеет только встроенный перл.

SR> spawn-fcgi от lighttpd - не единственный вариант. Как минимум, есть
SR> ещё патч php-fpm.
Мнэ, несоветую.

SR> Hу и сам php умеет fast cgi, хотя по слухам, вроде кривовато.

Spartak Radchenko

unread,
Oct 31, 2007, 3:16:25 PM10/31/07
to
Vlad Gnatov <sta...@rm-rf.kiev.ua> wrote:
VG>
>>>>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>>>>> thttpd. так же нужна поддержка виртуальных хостов. что
>>>>> порекомендуете? кроме apache. о lighttpd отрицательные мнения есть?
AO>>> Заточка от lighthttpd, запускающая php-fcgi процессы _плюс_ nginx.
AO>>> Сам по себе nginx имеет только встроенный перл.
SR>> spawn-fcgi от lighttpd - не единственный вариант. Как минимум, есть
SR>> ещё патч php-fpm.
VG> Мнэ, несоветую.

А что с ним не так? Отзывы сплошь положительные. Я его, правда,
не стал использовать, ровно потому, что патч. Hо у знакомого
на сервере крутится, тот доволен.

--
Spartak Radchenko SVR1-RIPE

Alex Tutubalin

unread,
Oct 31, 2007, 3:48:11 PM10/31/07
to
> AT> У нас на руси испокон веку принято вместо lighttpd использовать nginx :)
>
> А разве для PHP ему не нужен backend? Я внимательно документацию не
> читал, но сложилось очучение, что PHP - на backend только...

Все так же, как у light - FastCGI и поехали.

Alex Tutubalin

unread,
Oct 31, 2007, 3:51:43 PM10/31/07
to
Andrey Ostanovsky wrote:

> AT> Hет, php к nginx'у можно через fastcgi подцепить.
> Да, и это будет как Маркс и Энгельс: два разных процесса.

С лайти то же самое. Или fastcgi или cgi, в обоих случаях
процессы разные.

Vlad Gnatov

unread,
Nov 1, 2007, 6:13:50 AM11/1/07
to
Wed Oct 31 2007 22:16, Spartak Radchenko wrote to "Vlad Gnatov":

>>>>>> для 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 неподелу можно списать на мою вкусовщину.

Вот сижу и думаю, можно ли его причесать или проще переписать наново.

Pavel Makarenko

unread,
Nov 4, 2007, 10:49:50 AM11/4/07
to
30 Oct 35 22:28, you wrote to me:

AT> Pavel Makarenko wrote:
>> для httpd нужна поддержка php. хотелось бы обойтись легковесным типа
>> thttpd. так же нужна поддержка виртуальных хостов. что
>> порекомендуете? кроме apache. о lighttpd отрицательные мнения есть?

AT> У нас на руси испокон веку принято вместо lighttpd использовать nginx
AT> :)

с lighttpd у меня все заработало нормально, в его секции модуля fastcgi
указывается путь к бинарнику cgi-php. работаю через unix сокет.
для nginx такого параметра нет, только unix/ip сокет - надо понимать, что
сервер fastcgi для использования с php надо стартовать отдельно?

pm

Pavel Makarenko

unread,
Nov 4, 2007, 11:11:36 AM11/4/07
to
31 Oct 35 10:18, you wrote to Alex Bakhtin:

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

Pavel Makarenko

unread,
Nov 4, 2007, 11:21:55 AM11/4/07
to
31 Oct 35 22:48, you wrote to Alex Bakhtin:

>> AT> У нас на руси испокон веку принято вместо lighttpd использовать
>> nginx :)
>>
>> А разве для PHP ему не нужен backend? Я внимательно
>> документацию не читал, но сложилось очучение, что PHP - на backend
>> только...

AT> Все так же, как у light - FastCGI и поехали.
я не нашел примера конфигурации, пальцем не ткнешь?

pm

Denis Shaposhnikov

unread,
Nov 4, 2007, 12:04:52 PM11/4/07
to
On Sun, 04 Nov 2007 19:21:55 +0300
Pavel Makarenko <Pavel_M...@f14.n5025.z2.fidonet.org> wrote:

> 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/

Alex Ivanov

unread,
Dec 14, 2007, 2:23:39 AM12/14/07
to
Sun Nov 04 2007 20:04, Denis Shaposhnikov wrote to All:

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 полугодовалой давности.

0 new messages