Saltar al contenido

Cómo configurar Nginx como proxy inverso para la aplicación Nodejs

Nodejs es un marco JavaScript gratuito de código abierto, ligero, escalable y eficiente construido sobre el motor JavaScript V8 de Chrome, y utiliza un modelo de E / S sin bloqueo controlado por eventos. Nodejs ahora está en todas partes y se ha vuelto tan popular para desarrollar software desde sitios web, aplicaciones web hasta aplicaciones de red y más.

Nginx es un servidor HTTP de código abierto, de alto rendimiento, equilibrador de carga y software de proxy inverso. Tiene un lenguaje de configuración sencillo que facilita la configuración. En este artículo, mostraremos cómo configurar Nginx como proxy inverso para aplicaciones Nodejs.

Nota: Si su sistema ya se está ejecutando con Nodejs y NPMy tiene su aplicación ejecutándose en un puerto determinado, vaya directamente a Etapa 4.

Paso 1: Instalar Nodejs y NPM en Linux

La última versión de Node.js y NPM está disponible para instalar desde el repositorio oficial de distribuciones binarias de NodeSource Enterprise Linux, Fedora, Debian y Ubuntu, que se mantiene en el sitio web de Nodejs y deberá agregarlo a su sistema para poder instalar los últimos paquetes de Nodejs y NPM como se muestra .

En Debian / Ubuntu

En CentOS / RHEL y Fedora

Paso 2: Crear una aplicación Nodejs

Para fines de demostración, crearemos una aplicación de muestra llamada “Sysmon”, que se ejecutará en el puerto 5000 como se muestra.

Copie y pegue el siguiente código en el server.js archivo (reemplazar 192.168.43.31 con la IP de su servidor).

Guarda el archivo y cierra.

Ahora inicie su aplicación de nodo usando el siguiente comando (presione Ctrl+x para terminarlo).

Ahora abra un navegador y acceda a su aplicación en la URL http://198.168.43.31:5000.

Acceder a la aplicación Node desde el navegador

Paso 3: instalar Nginx Reverse Proxy en Linux

Instalaremos la última versión de Nginx del repositorio oficial, como se muestra a continuación.

En Debian / Ubuntu

Crea un archivo llamado /etc/apt/sources.list.d/nginx.list y agregue las siguientes líneas.

A continuación, agregue la clave de firma del repositorio, actualice el índice del paquete del sistema e instale el paquete nginx de la siguiente manera.

En CentOS / RHEL y Fedora

Crea un archivo llamado /etc/yum.repos.d/nginx.repo y pegue una de las configuraciones siguientes.

CentOS
RHEL

Nota: Debido a las diferencias entre cómo CentOS y RHEL, es necesario reemplazar $releasever con cualquiera 6 (para 6.x) o 7 (para 7.x), dependiendo de la versión de su sistema operativo.

A continuación, agregue la clave de firma del repositorio e instale el paquete nginx como se muestra.

Después de instalar con éxito Nginx, inícielo, habilítelo para que se inicie automáticamente al arrancar el sistema y verifique si está funcionando.

Si está ejecutando un firewall del sistema, debe abrir el puerto 80 (HTTP), 443 (HTTPS) y 5000 (aplicación de nodo), que el servidor web escucha para las solicitudes de conexión del cliente.

Paso 4: configurar Nginx como proxy inverso para la aplicación Nodejs

Ahora cree un archivo de configuración de bloque de servidor para su aplicación Node en /etc/nginx/conf.d/ como se muestra.

Copie y pegue la siguiente configuración (cambiar 192.168.43.31 con la IP de su servidor y tecmint.lan con su nombre de dominio).

Guarde los cambios y salga del archivo.

Finalmente, reinicie el servicio Nginx para efectuar los cambios recientes.

Paso 5: Acceda a la aplicación Nodejs a través del navegador web

Ahora debería poder acceder a su aplicación Node sin proporcionar el puerto en el que está escuchando, en la URL: esta es una forma muy conveniente para que los usuarios accedan a ella.

Para que su nombre de dominio de prueba funcione, necesita configurar el DNS local usando el / etc / hosts archivo, ábralo y agregue la línea de abajo (recuerde cambiar 192.168.43.31 con la IP de su servidor y tecmint.lan con su nombre de doamin como antes).

Acceder a la aplicación de nodo a través del proxy inverso de Nginx

¡Eso es todo! En este artículo, mostramos cómo configurar Nginx como un proxy inverso para aplicaciones Nodejs. Utilice el formulario de comentarios a continuación para hacer cualquier pregunta o compartir sus pensamientos sobre este artículo.

Este contenido se publicó originalmente aquí.