On February 28, 2012 18:57 , Daniel <dancom96@xxxxxxxxx> wrote:What you have is correct. You can also put it in a <Location> block, like this:What is the correct way for configuring mod_proxy_fcgi and PHP-FPM?
This is what I have:ProxyPass /www/ fcgi://127.0.0.1:9000/www/
<Location /www/>
ProxyPass fcgi://127.0.0.1:9000/www/
</Location>
Or you can use a RewriteRule, like this:
RewriteRule ^/www/(.*)$ fcgi://127.0.0.1:4000/www/$1 [P]
All of the above are equivalent.For the ProxyPass directive you have above, http://domain.com/info.php is not correct, and it SHOULD show you the info.php file as text. The correct URL for the ProxyPass directive you gave is http://domain.com/www/info.php This is because the ProxyPass directive you gave will only proxy requests for URI paths that begin with "/www/" (this is what the first argument to the ProxyPass directive -- or the enclosing Location block -- controls).
All domains are setup under /www/domain.com
When I try to access domain.com/info.php however, it just shows the file as text. (<?php info(); ?>) There are no errors in apache's error_log or PHP-FPM's. Both are set to debug.
If using the correct URL doesn't work, here are some more things to look at:
Make sure PHP-FPM is correctly configured to server URI paths that all begin with "/www/". You may need to change your directory structure for your PHP-FPM / PHP document root (which is separate from the Apache HTTP Server document root), or change the PHP document_root config setting in order to get the results you want.
Make sure you have PHP-FPM error logging turned on via the error_log config item in php-fpm.conf and that you are seeing SOMETHING getting logged there (for example, startup messages).
Test PHP-FPM independently of Apache HTTP Server to make sure that it is working. If it is, then you know that the problem is with Apache. If it isn't, then no amount of troubleshooting Apache will help. I recommend setting up a script that you can manually run on your web server machine that will send an FCGI request to PHP-FPM and display the results:
If you want to use PHP for the script, try: https://github.com/adoy/PHP-FastCGI-Client
If you want to use Perl (which is what I personally prefer) for the script, try: http://search.cpan.org/~tokuhirom/FCGI-Client-0.08/lib/FCGI/Client.pm
You should also be able to find scripts for Python or other languages by googling "python fastcgi client" or "python fcgi client"
If you are using Apache 2.4.x (or 2.3.x) try turning up the LogLevel for proxying to "trace" (which is more detailed than "debug") and see if that provides any additional information as to what is -- or is not -- happening. For example, when debugging PHP-FPM issues, I use:
LogLevel info ssl:notice rewrite:trace8 proxy:trace8 proxy_fcgi:trace8
Good luck! I hope this helps.
-- Mark Montague mark@xxxxxxxxxxx