Sentiros como en casa en nuestra categoría de Tutoriales, me presento, soy abse y soy un entendido en el mundo nocturno de la teina y los servidores, pero bueno si queréis saber algo mas de mi ir a Acerca de y vamos al grano.

Con RedBull en mano hy enseñare a como montar un servidor web sobre Nginx(+PHP)¿Pero que es esto? es un gran servidor web creado por un tal cafeino-etílico llamado Igor para una página muy importante rusa (Rambler.ru) el cual es muy estable, simple, potente y de bajo consumo de recursos.

Con consola en pantalla lo primero que debemos hacer es instalar Nginx y PHP, para ello hacemos lo siguiente:

apt-get install nginx php5-cgi

Ya que Nginx carece de FastCGI para ejecutar el PHP debemos de solventarlo con un programa externo como es el spawn-fcgi de lighttpd, cosa que habrá que bajar y compilar:

cd /usr/src
wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
tar xvf spawn-fcgi-1.6.3.tar.gz
./configure && make && make install

Bien con esto ya tenemos toda la base instalada, ya solo falta configurarla. Lo primero que haremos sera un script para lanzar el spawn-fcgi al inicio para ello crearemos /usr/bin/php-fastcgi con el siguiente codigo:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 8000 -u www-data -f /usr/bin/php5-cgi

Y lo siguiente en /etc/init.d/spawn-fcgi (de paso abre otro RedBull):

#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fastcgi
RETVAL=0
case "$1" in
start)
$PHP_SCRIPT
RETVAL=$?
;;
stop)
killall -9 php
RETVAL=$?
;;
restart)
killall -9 php
$PHP_SCRIPT
RETVAL=$?
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL

Le damos permisos y demás:

chmod +x /etc/init.d/spawn-fcgi
update-rc.d /etc/init.d/spawn-fcgi defaults

Ahora vamos a tocar la configuracion de Nginx, /etc/nginx/nginx.conf :

user www-data;
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen tupaginaweb.com:80;
server_name tupaginaweb.com;
root /home/www/tupaginaweb.com/;
index index.php;
location ~ .php$ {
fastcgi_pass 127.0.0.1:8000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/tupaginaweb.com$fastcgi_script_name;
include fastcgi_params;
}
}
}

Que no se te olvide cambiar las rutas donde pone “tupaginaweb.com“.

Y con esto se daría por el concluido el primer tutorial de la web, en caso de que por ejemplo queramos también instalar mysql seria tan fácil como lo siguiente:

apt-get install mysql-server php5-mysql

Rápido y fácil, ¿no?