1. поставить другой демон, lighttpd например + php-fcgi. В поиск.
2. в самом низу страницы есть выбор языка
httpd после некоторого времени работы выгружается и больше не запускается. На удивление, никаких фиксов для этого случая в инете я не нашел, все просто сообщают что на эту ошибку можно напороться и рекомендуют как попытаться до нее не дойти, но что делать если ты уже получил ее, ответ один - куищще. Вот пример: Architectures that use an on disk ScoreBoardFile have the potential to corrupt their scoreboards. This can result in the "bind: Address already in use" (after HUP) or "long lost child came home!" (after USR1). The former is a fatal error, while the latter just causes the server to lose a scoreboard slot. So it might be advisable to use graceful restarts, with an occasional hard restart. These problems are very difficult to work around, but fortunately most architectures do not require a scoreboard file. See the ScoreBoardFile documentation for a architecture uses it.
Кто-нить смог побороть?
П.С. Это вэб сервер с ПХП, установленный с помощью ipkg.
П.П.С. По умолчанию в русской секции форума какая-то нерусская кодировка, каждый раз мануально приходится переключать.
1. поставить другой демон, lighttpd например + php-fcgi. В поиск.
2. в самом низу страницы есть выбор языка
Памяти сколько и свопа? Язык можно выбрать в настройках вашего профайла.
Ну если лениво переходить на другой хттп сервер, то можно в крон засунуть маленький скриптик, который будет проверять, загружен ли демон. Если нет - загружать его. Но это разумеется, временное решение.
----
With best reagards,
Sergey.
Всем спасибо!
Попробую перейти на другой демон. Совет с кроном - не выйдет, потому что после вылета демона загрузить его уже нельзя, только куищще спасает.
total used free shared buffers
Mem: 30140 25608 4532 0 2224
Swap: 0 0 0
Total: 30140 25608 4532
Память остается занята... После ребута без httpd мегов 15-17 свободно
Last edited by dccharacter; 25-10-2006 at 18:05.
А своп создать что мешает?
У меня тоже есть роутер!
Подскажите, пожалуйста, нормальная ли это картина с lighthttpd с php:
php-fcgi запускаю из процесса lighttpd вот так (в файле /opt/etc/lighttpd/lighttpd.conf):[dccharacter@router root]$ ps
PID Uid VmSize Stat Command
176 dccharac 904 S /opt/sbin/lighttpd -f /opt/etc/lighttpd/lighttpd.conf
177 dccharac 2428 S /opt/bin/php-fcgi
178 dccharac 2428 S /opt/bin/php-fcgi
179 dccharac 2428 S /opt/bin/php-fcgi
180 dccharac 2428 S /opt/bin/php-fcgi
181 dccharac 2428 S /opt/bin/php-fcgi
182 dccharac 2428 S /opt/bin/php-fcgi
183 dccharac 2428 S /opt/bin/php-fcgi
184 dccharac 2428 S /opt/bin/php-fcgi
Code:fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/opt/tmp/php-fastcgi.socket", "bin-path" => "/opt/bin/php-fcgi", "bin-environment" => ( "PHP_FCGI_CHILDREN" => "1", "PHP_FCGI_MAX_REQUESTS" => "5000" ) ) ) )
httpd выгружается из-за того что ему недостаточно памяти, сделай своп.
З.Ы.: vsftp сервер после передачи файлов забирает всю память в кэш, как сделать чтобы она потом опять освобождалась? и надо ли это делать?
Спасибо, но вопрос не в этом. Вопрос в том, нормально ли, что для фаст-цги запускается несколько процессов, или все-таки должен быть один и я что-то не так настроил?
И раз уж все настойчиво рекомендуют сделать своп - подскажите, пожалуйста, как должго проживет моя флешка с организованным на ней своп разделом?
Вот что нашел. Поведение полностью соответствует моим настройкам.
How many php CGI processes will lighttpd spawn? ¶
lighttpd has three configuration options that control how many php-cgi processes will run:
PHP_FCGI_CHILDREN (defaults to 8 before 4.3.0, 0 after; see below)
min-procs (default 4)
max-procs (default 4)
When lighttpd starts, it will launch min-procs parent php processes. Each parent process then pre-forks PHP_FCGI_CHILDREN child processes. For example, if min- and max-procs are 4 and PHP_FCGI_CHILDREN is 16, lighttpd will start 4 + 4 x 16 = 68 processes.
To disable lighttpd's process control, set min-procs and max-procs to 1 and set PHP_FCGI_CHILDREN to the number of processes you want to spawn.
In the case of lighttpd 1.4, php 4.3, and eAccelerator 0.9.3 on Linux, eAccelerator will create a separate memory space for each parent process. If you leave min- and max-procs at 4, you'll end up with four separate eAccelerator caches. However, if a php parent segfaults, you'll still have three groups available to respond to queries. For this reason, Jan recommends setting min- and max-procs to 2.
After PHP 4.3.0, PHP_FCGI_CHILDREN defaults to 0. If left at 0, PHP will not pre-fork any children, so only min-procs parents will handle requests.
PHP 5 seems to start one parent process and one child per min/max-procs and PHP_FCGI_CHILDREN defaults to 1. What I suggest is splitting the number of processes you want between min/max-procs and PHP_FCGI_CHILDREN. The number of processes spawned = min/max-procs*(PHP_FCGI_CHILDREN+1). For my setup, I have min-procs and max-procs=2 and PHP_FCGI_CHILDREN=4.
Note that setting PHP_FCGI_MAX_REQUESTS is recommended to avoid possible memory leak side-effects.
Ну так поставить в 1. Пусть обслуживаюися по очереди. Или ограничить разумным количеством, ибо 5000 процессов 32-х мегабайтах памяти - это круто.
В файле запуска (не конфигурации) php-fcgi, экспортируется переменная с количеством дочек.
Поставить там желаемое количество, я вроде как даже ноль ставил и работало.
Один процесс в среднем кушал от 4.5 до 6 метров.
Да, если будешь завязываться с sqlite, везде реализована поддержка только второго, хотя в фидах есть третий. Нафига - неясно.
ЗЫ. Здесь настройки ВВЕРХУ рабочие на 100%
http://www.wl500g.info/showthread.ph...highlight=fcgi
Last edited by coraxpda; 10-11-2006 at 15:09.
Вот купил себе Примиум. Решил сделать домашний хостинг....
Есть пара вопросов.
1) Как вырубить встроенный httpd чтобы память не занимал? Убиваю ручками, он восстанавливается. Нашёл в nvram - httpd_die_restart, обнулил его, всё равно перезапускается.
2) Где настраивается процедура атоматического монтирования /tmp/harddisk. Хочется вырубить нафик этот маунтер и ручками в скрипте смонтировать как это мне надо.
3) Да.. ну и третий вопрос в догон . Сейчас стоит 7f-pre11. В аглицком факе написано что для открытие 32м памяти надо записать sdram_init и sdram_ncdl. Я посмотрел free у меня уже итак 30140. init=0x0009 как в факе, а ncdl=0x507. Так вот вопрос, надо ли обнулять ncdl или с некоторой версии прошивки уже учли эти настройки.
1) Убить ещё и watchdog и попрощаться с кнопкой restore
2) Отключите самбу, нфс, ftp
3) Прошейте 7f и не думайте об этом. Обнулить можно, хуже не будет. Видимо раньше у Вас стояла 1.9.7.1?
1+2) Используйте openwrt