¡Hola Amigos!. Les traigo el mínimo indispensable de conocimientos que, según mi modesta opinión, se debe tener sobre éste servidor web antes de emprender tareas más complejas.

Nginx (“engine x”) es un servidor HTTP y “Proxy inverso de alto rendimiento, y un Servidor proxy para IMAP/POP3/SMTP. Es relativamente nuevo en la Web.

Nginx

Veremos:

Servidor Base

Nombre web.amigos.cu
Dirección IP 192.168.10.20
Dominio amigos.cu

Para su confección recomedamos lean WordPress con Lighttpd y FastCGI. I parte

Instalación del Nginx

aptitude install nginx
invoke-rc.d nginx restart

Si después de la instalación y reinicio del servicio, apuntamos en nuestro navegador a la URL web.amigos.cu recibiremos el mensaje de error “404 Not Found”. Es que necesitamos hacer configuraciones iniciales antes de usar el servicio. Recomendamos estudien el archivo /etc/nginx/nginx.conf, el cual es el archivo de configuración principal del servicio, sobre todo la línea que dice “include /etc/nginx/sites-enabled/*“.

Comprobemos además que NO existe el directorio /var/www ya que al instalar el paquete no se crea éste (directorio) de forma automática como sucede por ejemplo con el Apache. Y si le echamos un vistazo al /usr/share/doc/nginx/README.Debian, en una traducción aproximada nos dicen entre otras informaciones que:

“Acorde a la Política de Debian, no se soportan archivos bajo el directorio /var/www”.

Por otra parte, la documentación acompañante del paquete es casi nula.

Sin embargo, un análisis de la estructura del directorio /etc/nginx/ nos indica cómo debemos hacer las cosas, pues tiene las consabidas carpetas sites-available y sites-enabled que hemos visto en otros servidores web.

Configuremos:

Creamos el host virtual web.amigos.cu, con el contenido Mínimo Inicial:

sudo nano /etc/nginx/sites-available/web.amigos.cu

Y dentro colocamos esto:

server {
    listen 80;
    server_name web.amigos.cu;
    location / {
        root /srv/web.amigos.cu/htdocs;
        index index.html index.htm;
    }
    location = /favicon.ico {
                log_not_found off;
                access_log off;
       }
       location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
       }
       # Denegar el acceso a archivos como .htaccess, .htpasswd, .DS_Store (Mac).
       location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
       }

Guardamos los cambios con Ctrl + O.

Habilitamos el sitio

Habilitamos el sitio haciendo un enlace simbólico al directorio sites-enabled:

ln -s /etc/nginx/sites-available/web.amigos.cu /etc/nginx/sites-enabled/web.amigos.cu

Creamos los directorios de trabajo y una página de prueba y hacemos propietario al usuario www-data.
Nota: Lea la primera línea del archivo nginx.conf.

También para evitar situaciones extrañas, eliminamos el enlace simbólico /etc/nginx/sites-enabled/default.

mkdir -p /srv/web.amigos.cu/htdocs
echo "

Nginx Funciona al Kilo

" > /srv/web.amigos.cu/htdocs/index.html chown -R www-data:www-data /srv/web.amigos.cu/htdocs/ rm /etc/nginx/sites-enabled/default

Comprobemos la configuración:

nginx -t

Reiniciemos el servicio

invoke-rc.d nginx restart

Probemos:

Refresquemos la página web.amigos.cu en nuestro navegador… y todo funciona como debe ser. Si nos da un error, podemos determinar la causa ejecutando en el servidor:

tail -f /var/log/nginx/error.log

Y refrescamos al mismo tiempo el navegador.

¿Y después?

Leemos el archivo /etc/nginx/sites-available/default; la documentación que un colega tuvo la amabilidad de bajar de Internet y la ofrecemos para su descarga; buscamos en la Web documentación al respecto; preguntamos a colegas, en fin estudiamos más acerca de éste magnífico servidor de páginas web. Les adelanto que tiene muchas posibilidades de configuración para obtener muchas funcionalidades.

Podemos instalar el paquete htop en el servidor y ejecutarlo para comprobar el bajísimo consumo de recursos ante una velocidad verdaderamente impresionante.

Hasta aquí un sencillo servidor de páginas web estáticas que bien puede servir para nuestra LAN empresarial.
¿La próxima aventura?
. Nginx and PHP-FastCGI en Debian 6 – Squeeze.

¡Hasta la vista, Amigos!