Please help me get FastCGI working with nginx
rtibmx at yahoo.com
Mon Aug 4 08:26:24 MSD 2008
I've spent the past several days going around and around trying to get FastCGI working with Nginx and I am stuck. Hopefully someone here can guide me please.
In summary I am trying to use nginx to front-end a PHP web site (instead of using Apache/PHP I want to us Nginx/PHP).
I have a working nginx 0.6.latest.ver working without PHP and FastCGI support, as I've used nginx plenty in the past. So now I am trying to add PHP and FastCGI into the picture but am totally stuck...
The first thing I did was download and compile PHP with FastCGI support:
../configure --enable-mbstring --with-mysql=/usr/bin --with-mysql-sock=/mnt/mysql/data/mysql.sock --enable-fastcgi --with-curl --enable-sockets --with-config-file-path=\etc
So that goes OK.
But then when I run /usr/local/bin/php -v it says:
PHP 5.2.6 (cli) (built: Aug 3 2008 23:45:09)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
I read somewhere that if that output says "(cli)" and not "(fast-cgi)" then PHP is not installed with FastCGI support. So perhaps this is my issue.
However as you can see from my ./configure command for PHP included above, I am specifying --enable-fastcgi which according the several web sites and the ".configure --help" says is all that is needed.
Am I missing something here?
Then based on pages like http://wiki.codemongers.com/NginxFcgiExample I am doing this:
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 8888 -f /usr/local/bin/php
and it exists with this:
spawn-fcgi.c.218: child exited with: 0, Success
However when I do a "ps -A" I don't see spawn-fcgi running. Furthermore if I telnet to port 8888 on localhost it says connection refused so I don't think anything is listening there.
So then of course when I try a .php page on nginx I get this in its error log:
connect() failed (111: Connection refused) while connecting to upstream, client: x.y.z.a, server: localhost, request: "GET /test.php5 HTTP/1.1", upstream: "fastcgi://127.0.0.1:8888", host: "myhost"
Can someone please point me in the right direction? Any tips are GREATLY appreciated! Also is there any chance we will get FastCGI natively implemented in nginx like it is with Apache and other servers? Thank you so much in advance!!
More information about the nginx