Changing server API from CGI to FastCGI

apache-2.2cachecgifastcgijoomla

I have a server set up on CentOS and I need to change the API from CGI to FCGI (Someone else set this up initially) for x-cache to work (we need this as we have a TV appearance on monday and are expecting high-load).

The server is a dedicated Dell R210 with Intel Xeon L3426 (8M Cache 1.86GHz) and 2GB RAM – but it craps out with 244 concurrent clients (through loadimpact.com).

The plan is to install nginx as a reverse proxy for apache and config apache to listen on port 81 localhost and have nginx forward requests to apache.

At the moment what is killing our processor is php rendering as we are running Joomla 1.5 and as such I want to run x-cache as an op-code cacher to RAM. But x-cache doesn't work with CGI – only FCGI and so ends my explanation as why this needs to be done.

Is this a safe change for a Joomla site?

How can this be done through CLI – we have cpanel but I hate it.

Best Answer

You have yourself in an intresting spot. CGI(not FastCGI) has been known the be very slow everyone and there sister has made a cgi module or pluin backin the day. So your choice to move over to fastcgi is a good one. I am also a big fan of nginx It is a great tool I think the issue is adding nginx on top of an apache laywer still means apache has to do some work and its still a known fact that it is rather slow. If you require alot of the statical data that it asks for you may want to find a method of compling logs when the server is idel but in your case I would recommend that you use nginx on its own. You can use php-fpm which allows php to work with fast cgi. It should give u a much better boast in perfomance being able to skip the apche side this way nginx runs the web server and rendering apache pages.