El servidor web Nginx es uno de los servidores web más famosos y utilizados del mundo. Es gratis y de código abierto. Se utiliza principalmente como proxy inverso. También se puede utilizar como equilibrador de carga, caché HTTP y proxy de correo.

Esta guía le mostrará cómo configurar Nginx Server con Nginx Server Blocks para alojar múltiples aplicaciones web.

requisitos

· Derechos de raíz

· Servidor web Nginx

Paso 1: configuración del cortafuegos

El primer paso es hacer que nuestro servidor web acepte las solicitudes entrantes para poder servir las páginas. Las solicitudes provienen de equipos cliente. Para hacer esto, necesitamos configurar el firewall para permitir el tráfico de solicitudes entrantes a través del puerto estándar 80 y el puerto 443 si se va a utilizar el protocolo https.

Primero, verifiquemos el estado del firewall. El comando de Ubuntu que necesitaremos para lograr esto es el siguiente.

$ sudo ufw status

Si está inactivo, lo habilitaremos con el siguiente comando.

$ sudo ufw enable

Para permitir conexiones entrantes a través del puerto 80, el siguiente comando hace el trabajo.

$ sudo ufw allow 80/tcp

Si necesitamos permitir 443 en lugar de 80, el siguiente comando hará el trabajo.

$ sudo ufw allow 443/tcp

A continuación, verifiquemos el estado del firewall. El siguiente comando hace el trabajo.

$ sudo ufw status numbered

Status: active

         To                             Action          From

         --                             ------          ----

[ 1] 443/tcp                        ALLOW IN        Anywhere

[ 2] 80/tcp                         ALLOW IN        Anywhere

nameservers:

        addresses: [8.8.4.4, 8.8.8.8, 2.2.0.0, 1.1.1.1]

Paso 2: Configure el archivo de configuración predeterminado de Nginx

Los bloques del servidor Nginx están configurados y se utilizan para tener más de un sitio web ejecutándose en el mismo servidor. De forma predeterminada, solo hay un bloque de servidor en el momento en que se instala el servidor web Nginx. Se encuentra en la ruta / etc / nginx / sites-available / default. El siguiente es el archivo predeterminado en sitios disponibles.

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
            listen 80 default_server;
            listen [::]:80 default_server;
            root /var/www/thedefaultserver.com;
            # Add index.php to the list if you are using PHP
            index index.html;
            server_name _thedefaultserver.com;
            location / {
                    # First attempt to serve request as file
try_files $uri $uri/ =404;
            }
}

Paso 3: configurar bloques de servidor Nginx

A continuación, crearemos un bloque personalizado para poder alojar otro sitio en la misma máquina servidor. Vamos a crear un directorio que actuará como raíz del bloque del servidor. Llamémoslo bloque1. El siguiente comando hace el trabajo.

$ sudo mkdir /var/www/block1.com

A continuación, crearemos una página index.html para este bloque. El siguiente comando hace el trabajo.

$ echo "Welcome to Block 1!" | sudo tee /var/www/block1/index.html > /dev/null

A continuación, creamos el bloque del servidor en el directorio / etc / nginx / sites-available y lo llamamos block1. Contendrá un archivo de bloque del servidor con el nombre del servidor, la ubicación, el directorio raíz y el índice. El nombre del archivo es block1. La ruta con el archivo es / etc / nginx / sites-available / block1. Podemos usar cualquier editor para crear este archivo.

El siguiente es el archivo de bloque del servidor Block1

server {
        listen 80;
        listen [::]:80;
        root /var/www/block1.com;
        index index.html;
        server_name block1.com;
        location / {
            try_files $uri $uri/ =404;
        }
}

A continuación, debemos crear un enlace simbólico desde el archivo al directorio compatible con el sitio. Nginx lo verifica al inicio. El siguiente servidor de comandos sirve para este propósito.

$ sudo ln -s /etc/nginx/sites-available/block1.com /etc/nginx/sites-enabled/

Paso 3: reinicia el servidor Nginx

Necesitamos reiniciar el servidor para aplicar el cambio de un nuevo bloque de servidor e implementar la aplicación web en la misma computadora del servidor. El siguiente comando hace el trabajo

$ sudo systemctl restart nginx

Ahora este servidor puede servir a los sitios web thedefaultserver.com y block1.com.

De esta manera podemos agregar múltiples bloques de servidor según el requisito.

Conclusión

Para ejecutar varios sitios web en un solo servidor Ubuntu 18.04 con el servidor web Nginx, los bloques del servidor Nginx deben configurarse con los detalles adecuados. Incluye una ruta diferente, páginas HTML, un directorio raíz y un archivo de bloque del servidor. Una vez configurada, la computadora cliente accederá a más de un sitio web desde un único servidor web.