Apache es el servidor web más popular. También puede usar Apache como un servidor proxy front-end para aplicaciones que ejecutan back-end como Node.js. Este tutorial lo ayudará a configurar su servidor Apache como un servidor proxy frontend para su aplicación Node.js con pasos sencillos.
Antes de empezar
- Utilizo una instancia de Ubuntu 18.04 alojada en DigitalOcean.
- Se instaló la última versión de Node.js usando este tutorial en esta máquina Linux.
Paso 1:crear una aplicación de nodo de muestra
Como estás aquí 🙂 Debes tener una aplicación Node.js en ejecución en algún puerto. Suponemos que está ejecutando su aplicación en el puerto 3000. Para fines de demostración, estoy creando una aplicación web de muestra en Node.js y ejecutándola en el puerto 3000. Así será más fácil de entender para usted.
nano myapp.js
Luego, agregue el siguiente contenido en el archivo JavaScript.
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World'); }).listen(3000, "127.0.0.1"); console.log('Server running at http://127.0.0.1:3000/');
Su aplicación Node está lista para funcionar en el puerto 3000. Iniciemos la aplicación Node.js en segundo plano.
node myapp.js &
Y accede a esto en el navegador. Verá el resultado como a continuación:
Paso 2:instalar el servidor Apache
Ahora instale el servidor web Apache utilizando el administrador de paquetes predeterminado. Los sistemas basados en Ubuntu y Debian usan apt, Fedora y CentOS/RHEL 8 usan DNF y CentOS/RHEL 7/6 usa yum. Los paquetes de Apache están disponibles en repositorios predeterminados en casi todos los sistemas operativos.
sudo apt install apache2
### Debians based systems sudo dnf install httpd
### Fedora & CentOS 8
Después de la instalación del servidor web Apache, debe haber habilitado el módulo Proxy. Este módulo está habilitado en Apache para usuarios que instalaron usando paquetes rpm. Si no lo ha habilitado, edite su configuración de Apache /etc/httpd/conf/httpd.conf o para Apache 2.4 /etc/httpd/conf.modules.d/00-proxy.conf archivo y descomente las siguientes líneas o póngalas en el archivo.
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
Para los sistemas basados en Debian, use el siguiente comando para habilitar el módulo Proxy con Apache.
sudo a2enmod proxy proxy_http
Paso 3:configurar Apache VirtualHost
Como ha configurado y ejecutando un servidor de demostración de Node.js. Ahora, inicie la configuración con el servidor web Apache. Cree un archivo de configuración de host virtual para su dominio en /etc/apache2/sites-disponible/ directorio.
### Debian based system's sudo nano /etc/apache2/sites-available/example.com.conf
### Redhat based system's sudo vim /etc/httpd/conf.d/example.com.conf
y agregue el siguiente contenido.
Apache1234567 |