Cómo instalar y configurar un servidor de páginas web Nginx

Cómo instalar y configurar un servidor de páginas web Nginx

Rubén Velasco

Nginx es uno de los servidores para páginas web, tanto estáticas como dinámicas, que mejor resultado ofrecen, especialmente en páginas web con un gran número de visitas. Aunque de cara a los usuarios apenas hay diferencias entre utilizar un servidor u otro, de cara a los administradores web, una de las características más allá del rendimiento y la forma de trabajar con procesos es la configuración.

Nginx se caracteriza por ser un servidor de páginas web que se configura de forma modular, algo que en algunos aspectos puede dificultar la configuración del servidor web pero que, a su vez, permite que esta sea mucho más sencilla de interpretar, pudiendo separar la configuración en varios ficheros independientes y cargarlos en el fichero de configuración principal para que todos funcione como uno solo. En este manual vamos a explicar el funcionamiento de este servidor para páginas web estáticas. Más adelante veremos cómo configurarlo para procesar webs dinámicas con PHP.

Cómo instalar y controlar el demonio Nginx

Lo primero que tenemos que hacer para utilizar Nginx es instalarlo en nuestro sistema. Para ello, lo primero que debemos hacer es teclear en nuestro terminal:

Si utilizamos una distribución basada en Debian:

  • apt-get install nginx

Si utilizamos una distribución basada en Red Hat:

  • yum install nginx

Una vez finalice la instalación de Nginx ya tendremos el demonio funcionando, listo para empezar a cargar nuestras webs. Podemos controlar fácilmente el demonio del servidor web con los siguientes comandos:

  • service nginx start | stop | restart -> Para iniciar, parar o reiniciar el servicio o demonio.
  • service nginx configtest | reload -> Para probar una configuración o recargarla después de hacer cambios en el servidor.
  • service nginx status -> Para poder conocer el estado del servidor en ese momento.

Demonio Nginx

Cómo configurar Nginx

Configuración básica

Una de las características de este servidor web es que permite configurar por separado el servidor y cada una de las páginas web que montemos en él. Por un lado, la configuración básica del servidor se encuentra en el fichero:

  • /etc/nginx/nginx.conf

Dentro de este fichero vamos a poder configurar las funciones generales del servidor web, entre otros:

  • El usuario que ejecutará el servidor.
  • Número de procesos del servidor (según el número de núcleos de la CPU).
  • El proceso maestro del servidor (pid)
  • La ruta donde se guardarán los ficheros de log.
  • Usuarios máximos conectados al servidor.
  • Configuración http (tipos de ficheros, envío de datos, compresión Gzip, ruta de los servidores web, configuración del servidor de correo, etc).

Configuración Nginx

Al final de este fichero, dentro del bloque http, podemos ver una línea por defecto llamada «include /etc/nginx/sites-enabled/*». Esta línea indica al servidor que debe cargar las configuraciones específicas de diferentes archivos y directorios, a fin de poder funcionar como «servidores virtuales» y permitir habilitar y deshabilitar configuraciones fácilmente sin tener que borrarlas.

En resumen, el fichero nginx.conf se encarga de ofrecer una configuración global del servidor, la cual se complementa con lo que vamos a ver a continuación. Configurar un servidor VPS es un proceso sencillo.

Cómo montar tu primera página web

Como hemos dicho, la configuración del servidor virtual que nos crea por defecto se encuentra en la ruta «/etc/nginx/sites-available/default».

Si editamos este archivo vamos a poder encontrar, entre otras funciones:

  • Los puertos de escucha (por defecto, el 80).
  • El directorio donde se almacena la web.
  • El fichero por defecto al acceder a la web, por defecto, «index.html».
  • Comportamiento en caso de error 404.
  • Configuración de un servidor «virtual» basado en él.
  • Configuración del HTTPS.

Default Nginx

Toda la configuración de este fichero se «sobrescribirá» a la configuración general del servidor.

Tal como hemos podido ver en el fichero de configuración anterior, la web por defecto se encuentra en la ruta /usr/share/nginx/html. Si nos desplazamos hasta ella, podemos ver los siguientes archivos.

servidor web en Nginx

Por defecto, tal como se indica en el fichero de configuración anterior, al acceder a la web a través del puerto 80 se abrirá por defecto el fichero index.html. En caso de tener un servidor php asociado a Nginx (que veremos más adelante), el fichero que se abrirá por defecto será index.php.

Podemos abrir con «nano» el fichero «index.html», ver su contenido e incluso modificarlo o cambiarlo por otro para que muestre nuestra propia página web.

Index Nginx

Prácticas y consejos útiles para Nginx

Con esto ya seremos capaces de montar y sencillo servidor http listo para alojar páginas estáticas. Resumiendo, algunos de los aspectos que debemos recordar a la hora de configurar nuestro servidor son:

  • Debemos separar lo máximo posible las configuraciones.
  • Es recomendable hacer una configuración por separado para cada servidor, aunque estas sean iguales.
  • Debemos utilizar «include» para importar cada configuración al servidor Nginx.
  • Los nombres de cada servidor deben utilizar un patrón claro y nombres fáciles de identificar.

Welcome to nginx

Para cualquier duda o información adicional sobre el servidor web, también podemos consultar la completa documentación que nos ofrecen los responsables de Nginx a través de su página web principal.

¡Sé el primero en comentar!