Date: Wed, 22 Feb 2012 00:03:09 -0500 From: Michael Powell <nightrecon@hotmail.com> To: freebsd-questions@freebsd.org Subject: Re: apache22 + php5 (package not ports) ~ spawn-fcgi ? Message-ID: <ji1stc$fha$1@dough.gmane.org> References: <CAJxePNKk9Zna9mFoHqmfYHvGkkDLNGvh%2BUSpucb=3rS-xAHiwA@mail.gmail.com> <CE7203F4-DF96-44D5-A509-801E93370F60@mac.com> <CAJxePNJNvbkaXJJZvAopyH6Dp6%2BdZdmB2VJDO8hi__qNY2z4eg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
alexus wrote: > I dont think you really grasping what I was asking.. > I am aware that I can build from source, yet I'm trying to stay away > from that route due to a lot of overhead going forward... > I'm also aware that php5 or actually apache22 doesn't come with > mod_php as well, and as alternative I'm willing to go spawn-fcgi route > instead, and this is what I'm interested in. > I'm looking for some blog/howtos of people already done it on freebsd > and not just a general fastcgi.com site :) > So, if anyone have an experience or know a good resources that may be > useful for me at this point of time, I'd highly appreciate if you can > post it here. You do not need spawn-fcgi wrt to PHP. I install software by compiling through the ports system, as it is just so much more maintainable in the long run. Also, you are more able to select build options which are better suited to your needs and environment. I have built Apache outside the ports tree in the long-ago past, so I do understand how. It's just there really is not a great reason to do so. In my case, I utilize the apache-event MPM in conjunction with FastCGI. Originally I began with mod_fcgi, and it seemed to work well. When I learned that mod_fastcgi was supposed to work better with PHP-FPM I switched to it when I made the change to PHP-FPM. PHP-FPM runs on it's own at boot and has it's own startup scripts. You can set the options to do this when you build the base PHP port by choosing WITH_CLI=true, WITH_CGI=true, WITH_FPM=true and you will not need spawn- fcgi; PHP-FPM supplies this functionality [e.g 'long-running process'] by design. Also there is a .conf you can use to adjust your PHP CGI pools in a much more granular way than with spawn-fcgi. Irregardless of which MPM you run Apache with, the next step is to connect Apache through mod_fastcgi to these running instance(s) of PHP. Here is an example from httpd.conf for this: [...] LoadModule fastcgi_module libexec/apache22/mod_fastcgi.so [...] <IfModule mod_fastcgi.c> Alias /php-cgi /usr/local/www/fastcgi/php-cgi #FastCGIExternalServer /usr/local/www/fastcgi/php-cgi -flush -host 127.0.0.1:9000 FastCGIExternalServer /usr/local/www/fastcgi/php-cgi -flush -socket /tmp/php- fm.sock AddType application/x-httpd-php .php Action application/x-httpd-php /php-cgi <Directory "/usr/local/www/fastcgi/"> Order deny,allow Deny from all <Files "php-cgi"> Order allow,deny Allow from all </Files> </Directory> </IfModule> Notice I use a socket, and this socket is configured in the php-fpm.conf. The normal default is to use the TCP loopback. This also is probably not the best config available, but it supplies my very basic needs. If you are trying to set up Apache with mod_fastcgi, go with PHP-FPM as your CGI version of the PHP port build (set in the make config options) and it will be easy. IMHO this is a better way to go than spawn-fcgi, especially wrt to PHP specifically. --Mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ji1stc$fha$1>