Como virtudes, este servidor web tiene las que ya hemos comentado:
- Gran rendimiento y velocidad de gestión de peticiones.
Como defectos:
- Menor implantación.
- Menor número de módulos de compatibilidad.
De todos modos es una gran opción que está creciendo y que puede ser muy interesante según que casos. Por ello vamos a desplegar uno de los CMS más usados, es decir Joomla, en nginx para trastear un poco con este servidor web.
1- Instalamos NGINX y MySQL:
aptitude install mysql-client-5.0 mysql-server-5.0 nginx
Comprobamos que nginx está corriendo:
ps aux | grep nginx root 4243 0.0 0.0 9608 892 pts/0 S+ 10:45 0:00 grep nginx
2- Instalamos los siguientes módulos PHP:
aptitude install -R php5-cgi php5-mysql php5-curl php5-gd php-pear php5-imagick php5-imap php5-mcrypt php5-sqlite php5-xmlrpc php5-xsl
Especificamos a php5 que utilice FastCgi:
nano /etc/php5/cgi/php.iniDescomentamos cgi.fix_pathinfo=1
3- Instalamos y configuramos spawn-fcgi
aptitude install spawn-fcgi
Debemos indicar a FastCGI el puerto de escucha, y el usuario y grupo que serán los propietarios del fichero. Para ello ejecutaremos la siguiente instrucción:
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
Para que arranque el servicio automáticamente nos vamos al fichero /etc/rc.local y añadimos la misma instrucción que antes:
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
Ahora tenemos que crear un script con el nombre php-fastcgi en el directorio /etc/init.d/php-fastcgi el cual contendrá lo siguiente:
#!/bin/sh ### BEGIN INIT INFO # Provides: php-fastcgi # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start and stop php-cgi in external FASTCGI mode # Description: Start and stop php-cgi in external FASTCGI mode ### END INIT INFO # Author: Kurt Zankl <[EMAIL PROTECTED]> # Do NOT "set -e" PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="php-cgi in external FASTCGI mode" NAME=php-fastcgi DAEMON=/usr/bin/php-cgi PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME PHP_CONFIG_FILE=/etc/php5/cgi/php.ini # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
Damos permiso de ejecución al script:
chmod + x /etc/init.d/php-fastcgi
Realizaremos un enlace de este script en los directorios en los siguientes directorios:
ln -s /etc/init.d/php-fastcgi /etc/rc2.d ln -s /etc/init.d/php-fastcgi /etc/rc3.d ln -s /etc/init.d/php-fastcgi /etc/rc4.d ln -s /etc/init.d/php-fastcgi /etc/rc5.d
4- Configuramos NGINX:
Por último debemos configurar nginx para que pueda servir los ficheros php por medio de FastCGI. Para hacer esto entramos en el fichero /etc/nginx/sitesavailable/ default añadimos lo siguiente:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; include fastcgi_params; }Vemos que el servidor está escuchando por el puerto 9000:
netstat -putan | grep 9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4881/php5-cgi5- Despliegue de Joomla
Ahora nos disponemos a desplegar Joomla en el directorio /var/www
Para ello lo movemos a dicho directorio y lo descomprimimos:
mv /home/usuario/Escritorio/Joomla_1.5.9-Stable-Full_Package.zip /var/www/ cd /var/www unzip Joomla_1.5.9-Stable-Full_Package.zipAhora nos vamos a nuestro navegador y accedemos a localhost y nos aparece la pantalla de instalación de Joomla:
Una vez terminada la instalación ya tenemos Joomla corriendo sobre NGINX:
Un saludo!!
No hay comentarios:
Publicar un comentario