Hola, a continuación voy a explicar cómo instalar el servidor Nginx y configurarlo para cualquier dominio. Este tutorial puede aplicarse para instalar tantos dominios o subdominios como se deseen y que cada uno apunte a una carpeta distinta.
- Lo primero es tener instalado el servidor Nginx
sudo apt-get update sudo apt-get install nginx
Una vez Instalado podemos comprobar que funciona abriendo un navegador web y metiendo la ip de la maquina. Nos saldrá una página de bienvenida por defecto que vienen en Nginx.
- Ahora creamos una carpeta en donde ubicaremos nuestro proyecto web (la carpeta la podemos crear en donde queramos, yo pongo un ejemplo)
sudo mkdir -p /var/www/dominio.com/public_html
Dándole permisos, al ser aplicación web le damos los permisos a www-data:
sudo chown -R www-data:www-data /var/www/dominio.com/public_html
- Añadimos dentro de la carpeta creada (en mi ejemplo es /var/www/dominio.com/public_html) un index.html con un HOLA MUNDO de tu dominio para comprobar al final del tutorial que funciona la redirección a la carpeta de tu proyecto web.
- Creamos el Host Virtual en Nginx
A continuación vamos a decirle a Nginx que va a tener un nuevo host virtual que gestionar, es decir, que cuando el usuario introduzca en el navegador dominio.com, el servidor tendrá que leer el archivo de configuración que crearemos para saber qué hacer. En Nginx hay dos rutas importantes. La primera de ellas es sites-available, que contiene los archivos de configuración de los hosts virtuales disponibles en el servidor. La otra es sites-enabled, que contiene los archivos de configuración de los sitios habilitados, es decir, los que funcionan en ese momento. Vamos a crear un archivo para dominio.com:
sudo nano /etc/nginx/sites-available/dominio.com
Introducimos el siguiente código
server { ## Escucha en el puerto 80 (HTTP) listen 80; ## Raíz donde se encuentra la página Web root /var/www/dominio.com/public_html; ## Orden de prioridad de los archivos index index index.html index.htm; server_name dominio.com; }
- A pesar de haber creado este archivo, todavía no podemos acceder a nuestra página Web, ya que la configuración está en sites-available, pero no en sites-enabled. Para habilitar el host virtual crearemos un enlace simbólico entre ambas carpetas:
$ sudo ln -s /etc/nginx/sites-available/dominio.com /etc/nginx/sites-enabled/dominio.com
- Reiniciamos Ngninx
sudo service nginx restart