Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
После чего ставим софт (подразумевается что установка чистая - иначе вначале снесите php4 и апачу 1.3) на машину. Апач:
|
PHP:
|
Лезет окошко, где выбираем такие опции - опять же - мне не нужна CLI версия, и я её не выбрал - вам может быть нужна:
|
Также ставим сам модуль mod_fastcgi:
|
Проверяем PHP:
|
Работает. Раскомментируем строчку установленного модуля в конфиге апача:
|
После чего в конец конфига апача дописываем такое:
|
Эти конфиги повторяют конфиг первого виртуалхоста, который приведён в предыдущем листинге. Где-то в процесе установки, не забываем создать юзера, от которого будет работать дефолтовый виртуалхост. У меня он называется 'my-domain'. Также, для каждого виртуалхоста пишем скрипт такого виду:
|
Делаем соответствующего пользователя его владельцем, и делаем его исполняемым:
|
Добавлям строчки в rc.conf:
|
Также, нужно в группу пользователя добавить пользователя www:
|
Остаются ограничения, описанные в прошлой статье - 16 групп, и, соответтсвенно максимум 15 пользователей. Лечится также - в исходниках ядра правим такую строку:
|
Соответсвенно сюда вписываем нужное число, и пересобираем ядро. (Обещщают с семёрки сделать чтобы менялось штатными средствами, но пока не сделали...) Как вариант - возможно включение ACL на разделе - но это замедлит рбоату с ФС (не пробовал, но по идее должно замедлять :)). Ну и всё. Можно создавать директорию для конфигов отсутствующих пока хостов, и запускать:
|
Такой листинг вы увидите лишь если будет хоть одно обращение. Иначе - тока работающий апач. В случае любых проблем - уровень логов в конфиге - дебаг, и смотрим логи.
P.S. По итогам пары дней тестирования: Прилично быстрей чем в режиме чистого cgi.
размещено: 2007-07-23,
последнее обновление: 2007-08-20,
автор: lissyara
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]
yava88, 2012-06-15 в 19:40:56
|[ ] APACHE Build Apache Module |
А разве этот модуль не потребуется? Как без него то..
lumen, 2012-06-16 в 20:29:05
А зачем, тут же php-cgi
Bella, 2016-05-19 в 13:05:29
What part of do you come from? <a href=" http://nicktuckerphotography.com/shoot-everything-friday-photo/#visiting ">bay cialis for sale espanol daily 5 mg</a> “It would mean everything, man,” said Heat forward LeBron James. “First of all, it means that I’m doing my part and I’m helping our team get better. It would mean everything to our team. That’s what we’re here for. We work our tails off every day. If it can pay off with another Finals appearance, we’d represent the Eastern Conference the best way we can.”
Rodney, 2016-06-06 в 20:38:47
Can you put it on the scales, please? <a href=" http://www.mygetmore.com/cheap-metronidazole-online.pdf ">flagyl buy online australia</a> UPI licenses content directly to print outlets, online media and institutions of all types. In addition, UPI's distribution partners provide our content to thousands of businesses, policy groups and academic institutions worldwide. Our audience consists of millions of decision-makers who depend on UPI's insightful and analytical stories to make better business or policy decisions.
<a href=" http://travel-semantics.com/penegra-100-kaufen.pdf ">penegra for erectile dysfunction</a> They showed -as well - a starker link between people's performance and their backgrounds in England and Northern Ireland. Adults who had at least one parent involved in a university-level education scored 26.7 points higher in literacy than those with parents who did not pursue such qualifications. This compared to an international average of 18 points difference between the two groups. In numeracy, the figures were even more stark - a 31.1 point difference in the UK compared with 19.5 internationally.
Elvis, 2016-07-02 в 11:26:58
How much notice do you have to give? <a href=" http://levitra.blue/#exceed ">buy levitra usa</a> Country cutie Carrie Underwood's is off the market — and has the rock to prove it! The 26-year-old singer showed off the ring fiance Ottawa Senators hockey player Mike Fischer gave her while cheering him on at a hockey game on Dec. 21. The five-plus carat diamond ring is worth almost $150,000, reported People.com.
Reuben, 2016-08-31 в 23:24:12
An estate agents <a href=" http://bigskybikes.com/when-is-viagra-going-generic-in-canada.pdf#craftsman ">buy cialis viagra canada</a> It was the first time in NHL history that a team scored its first goal of the season on a penalty shot, according to the Elias Sports Bureau. The Lightning went 0 for 5 on the power play, failing to score on a pair of 5-on-3 advantages, while allowing the two short-handed goals.
<a href=" http://www.stpatricks5k.com/viafem-canada.pdf#wallpaper ">viafem canada
</a> "I'm not convinced that concerns about the Fed have beenfully priced in, but we are seeing a bit of a bounce-back today,and the bulls remain firmly in control of the market for now,"said Uri Landesman, president of Platinum Partners in New York.
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [38 шт.]