Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
www.lissyara.su
—> статьи
—> FreeBSD
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
После чего ставим софт (подразумевается что установка чистая - иначе вначале снесите php4 и апачу 1.3) на машину. Апач:
|
PHP:
|
Лезет окошко, где выбираем такие опции - опять же - мне не нужна CLI версия, и я её не выбрал - вам может быть нужна:
|
Также ставим сам модуль mod_fastcgi:
|
Проверяем PHP:
|
Работает. Раскомментируем строчку установленного модуля в конфиге апача:
|
После чего в конец конфига апача дописываем такое:
|
Эти конфиги повторяют конфиг первого виртуалхоста, который приведён в предыдущем листинге. Где-то в процесе установки, не забываем создать юзера, от которого будет работать дефолтовый виртуалхост. У меня он называется 'my-domain'. Также, для каждого виртуалхоста пишем скрипт такого виду:
|
Делаем соответствующего пользователя его владельцем, и делаем его исполняемым:
|
Добавлям строчки в rc.conf:
|
Также, нужно в группу пользователя добавить пользователя www:
|
Остаются ограничения, описанные в прошлой статье - 16 групп, и, соответтсвенно максимум 15 пользователей. Лечится также - в исходниках ядра правим такую строку:
|
Соответсвенно сюда вписываем нужное число, и пересобираем ядро. (Обещщают с семёрки сделать чтобы менялось штатными средствами, но пока не сделали...) Как вариант - возможно включение ACL на разделе - но это замедлит рбоату с ФС (не пробовал, но по идее должно замедлять :)). Ну и всё. Можно создавать директорию для конфигов отсутствующих пока хостов, и запускать:
|
Такой листинг вы увидите лишь если будет хоть одно обращение. Иначе - тока работающий апач. В случае любых проблем - уровень логов в конфиге - дебаг, и смотрим логи.
P.S. По итогам пары дней тестирования: Прилично быстрей чем в режиме чистого cgi.
|
|
creativ, 2007-07-23 в 17:52:17
А почему не Apache 2.2?
lissyara, 2007-07-23 в 17:57:51
Я до позавчера жил на 1.3 и не чуствовал себя ущербным.
Зачем мне 2.2?
wizard, 2007-07-23 в 18:50:01
Сам видишь насколько удобнее юзать fast_cgi :))) а на форуме вначале обос***л меня :(
lissyara, 2007-07-23 в 19:28:30
это была конструктивная критика :))
wizard, 2007-07-23 в 22:22:10
кстати вот в связке fast-cgi ещё прикольно вот это юзать http://php-fpm.anight.org/
maserg, 2007-07-30 в 19:16:29
а где можно посмотреть сравнение скорости работы php как модуля и через fast-cgi
абырвалг, 2007-07-31 в 21:19:56
опечатка:
но это замедлит рбоату с ФС
paix, 2007-08-09 в 11:03:40
интересная статья...
Но господа, а что вы будете делать если юзеры пропишут например PHPRC="vuln_php.ini" во враппере fastcgi?
Опять же если сайты все ваши то на нет и суда нет ;)
paix, 2007-08-09 в 11:05:44
моя статья об этом же только с ручной сборокой и заточкой под директадмин, может кому будет интересно...
http://directadmin.com/forum/showthread.php?t=16399
lissyara, 2007-08-09 в 11:06:08
вначале есть ссылка на прошлую статью. Там этот вариант описан.
Вкратце - man chflags
SniZ, 2007-08-19 в 17:24:09
господа, а зачем юзать fast-cgi?
просто не могу понять...
lissyara, 2007-08-19 в 21:24:10
быстрей чем чистый cgi
Denya, 2007-09-15 в 16:20:45
FastCGI очень рулит.
FastCGI намного шустрее и ЭКОНОМИЧНЕЕ! Сотня php-cgi процессов в памяти кушает что-то там меньше 200мб, кажется. httpd процессы без mod_php весят заметно меньше, и их тоже может быть много :) Короче, однозначно плюс.
php-fpm — штука хорошая, но сыроватая. Но по заявленым фичам — очень порадовало :) Я когда его ставил, она у меня не завелась, пришлось откатиться. Но проблема не в нем была, а в зацикливании одного скрипта :-( Еще раз экспериментировать лень.
2lissyara, может я и ошибаюсь, но все же. Апач должен заупскать не более 1 php-cgi процесса. Все потому, что php сам управляет созданием child-процессов. А если у вас apache запустит 2 процесс-менеджера php, то все это будет работать не так, как должно. Например, кеширование байткода...
Хотя по скриншоту ps -aux'а все нормально вроде :-)
Пару раз встречал про это упоминание в статьях. Например, в неплохой статье на хабре:
http://www.habrahabr.ru/blog/webdev/19129.html
Соответственно, конфиг-строчка у меня такая:
FastCgiConfig -maxClassProcesses 1 -maxProcesses 250 -idle-timeout 100 -pass-header HTTP_AUTHORIZATION
Во sh-враппер, запускающий сам php, я еще прописываю:
PHP_FCGI_MAX_REQUESTS=500
export PHP_FCGI_MAX_REQUESTS
Это на тот случай, чтобы процессы не жирнели и периодически убивались.
2paix Папку, где хранится шелл-скрипт (а в перспективе — и отдельный php.ini) можно вполне смело вынести из DocRoot'а и вообще убрать из зоны выдимости FTP-аккаунтов. Т.е. вместо /cgi-bin/, доступного юзеру, можно узнести куда-нибудь в /home/fcgi/. И никакой юзер не сможет ничего поменять.
У нас такая проблема стояла и мы вот так вот ее успешно решили.
banec, 2007-09-21 в 12:19:09
Для тех кто наткнулся на то что ни чего не работает!
нужно до установить из портов php5-extensions !
paix, 2007-09-24 в 16:14:19
Вопросик по производительности FastCGI
http://forum.lissyara.su/viewtopic.php?f=8&t=5052
abigor, 2007-11-29 в 9:31:08
Странно, но на
[root@dedic abigor]# uname -rs
FreeBSD 7.0-BETA3
[root@dedic abigor]#
при сборке apache22 он гадость отказался брать настройки из /etc/make.conf
пришлось принудительно ему говорить:
make SUEXEC_DOCROOT=/var/web SUEXEC_USERDIR=public_html SUEXEC_LOGFILE=/var/log/httpd/httpd-suexec.log install clean
После этого все заработало на ура.
Дмитрий., 2007-12-06 в 13:47:47
Автору респект - отличная статья. Неплохо бы еще, конечно, для каждого виртуального хоста в папке cgi-bin сделать chflags schg,uunlnk php.sh
MDV, 2008-07-10 в 8:05:52
SetHandler fastcgi-script
вижу
А AddHandler где?
Гога Салеля, 2008-08-15 в 9:58:17
Спасибо !!!
Pez!, 2008-10-19 в 0:02:52
Огромное спасибо автору - после того как я ВНИМАТЕЛЬНО все прочитал оно наконец-то заработало как надо )))
pro2on, 2008-10-25 в 23:21:20
Нужно не забыть еще и каталог создать:
#cd /var/log
# mkdir httpd
а так - большое спасибо. учусь вообще по этому сайту.
Pez!, 2008-10-26 в 6:57:41
хм, странно, у меня само создало этот каталог и в нем появился лог suexec
m4rkell, 2009-03-02 в 20:54:25
Задолбался рыть, как модключить расширения php5_extensions? Уже переустанавливал их, не помогает! подскажите плиз!!!
dfsdsf, 2009-03-25 в 9:59:36
sdfsdfdsf
Key, 2009-04-11 в 20:06:42
Как насчет такого решения:
cat ../apache22-peruser-mpm/pkg-descr
Peruser is an Apache 2 modules based on metuxmpm. The fundamental
concept behind them is to run each apache child process as its own
user and group, each handling its own set of virtual hosts. Peruser
and recent metuxmpm releases can also chroot() apache processes.
The result is a sane and secure web server environment for your
users, without kludges like PHP's safe_mode.
desruptor, 2009-12-17 в 18:36:52
кто делал по этой статье, покажите плз свой httpd -l
у меня подозрение что Suexec не вкомпилился, потому как на apachectl -t выводится вот такое
Invalid command \'SuexecUserGroup\', perhaps mis-spelled or defined by a module not included in the server configuration
udaff, 2009-12-20 в 8:26:33
httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
udaff, 2009-12-20 в 8:30:42
Работает нормально, но в лог httpd-error.log постоянно сыплется:
[Sun Dec 20 07:20:03 2009] [warn] FastCGI: (dynamic) server "/home/hosting/sites/tor.ххх.ua/cgi-bin/php.sh" (uid 1002, gid 1002) restarted (pid 18253)
[Sun Dec 20 07:20:19 2009] [warn] FastCGI: (dynamic) server "/home/hosting/sites/tor.ххх.ua/cgi-bin/php.sh" (pid 18253) termination signaled
[Sun Dec 20 07:20:19 2009] [warn] FastCGI: (dynamic) server "/home/hosting/sites/tor.ххх.ua/cgi-bin/php.sh" (pid 18253) terminated by calling exit with status
Нормально это или нет? Как победить, что бы было нормально.
udaff, 2009-12-20 в 8:33:31
так точнее:
[Sun Dec 20 07:20:19 2009] [warn] FastCGI: (dynamic) server "/home/hosting/sites/tor.ххх.ua/cgi-bin/php.sh" (pid 18253) terminated by calling exit with status '0'
Артём, 2010-09-27 в 0:56:31
В новом PHP 5.3 нету пункта
[X] FASTCGI Enable fastcgi support (CGI only)
каков выход?
sergio, 2010-12-08 в 14:39:47
uid: (my-domain/my-domain) gid: (1001/my-domain) cmd: php.sh
lumen, 2011-01-14 в 10:50:40
Если php работает как php-cgi, то для обработки .htaccess необходимо использовать pecl-htscanner
(ставим из портов) и установить патч для него, он исправляет работу со сторокавыми типа данных
используемых в php_value и в php_flag
Патч
http://blog.hbis.fr/wp-content/uploads/2009/04/patch-htscanner-parser-20090401.gz
Пример настройки htscanner:
Добавляем в php.ini
[htscanner]
htscanner.extension_dir = "/usr/local/lib/php/20090626-zts/"
htscanner.extension = "htscanner.so"
htscanner.config_file = ".htaccess"
htscanner.default_docroot = "/"
htscanner.default_ttl = 300
htscanner.stop_on_error = 0
добавляем в .htaccess (указывайте те параметры которые вам нужны)
<IfModule mod_php5.c>
php_value allow_call_time_pass_reference 1
php_value session.use_trans_sid 0
php_value display_errors 1
# php_value mbstring.func_overload 1
php_value mbstring.internal_encoding UTF8
</IfModule>
[i]
2011-11-20, BlackCat
Разъём на WiFi-картуДелаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosisНастройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNSНастройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPTВ этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_natОписание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+DigitempСтатья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel ConfigurationСкрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp clusterHAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFSИстория о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-WireСтатья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в сервернойСтатья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog serverКак то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-11, Fomalhaut
cvs, svn, portsnapОбновление сорцов системы через CVS и SVN, портов - CVS и portsnap. Обновление через Proxy-сервер.
2011-01-07, lissyara
Canon/gphotofsМонтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSecОписание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flashБыло принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPTИнструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPNНа днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvmИспользование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"aProftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cliПошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+MasterMySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-22, Mufanu
named 9.7.0Система доменных имен (Domain Name Service, DNS) - одна из тех незаметных, закулисных программ, которым не уделяется и половины того внимания, которого они заслуживают.
2010-03-09, terminus
DNS zonesКраткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
вверх
|
||||||||
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [32 шт.]