Cómo configurar Nginx como proxy inverso para Apache en Debian 11

página predeterminada de apache

Nginx y Apache son servidores web gratuitos, de código abierto y más populares en todo el mundo. Apache es conocido por su potencia, mientras que Nginx es conocido por su velocidad. Ambos tienen algunos pros y contras. Nginx es útil para contenido estático mientras que Apache es para contenido dinámico. Si combinamos ambos servidores, obtendremos un mejor resultado el uno del otro.

En este tutorial, configuraré Apache como servidor backend y usaré Nginx como proxy inverso para Apache en Debian 11.

requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Una contraseña de root está configurada en el servidor.

Empezando

Antes de comenzar, se recomienda actualizar la caché de paquetes de su sistema a la última versión. Puedes actualizarlo usando el siguiente comando:

apt-get update -y

Después de actualizar el caché del paquete, instale otras dependencias requeridas usando el siguiente comando:

apt-get install gnupg2 curl -y

Una vez que todas las dependencias requeridas estén instaladas, puede continuar con el siguiente paso.

Instalar y configurar Apache

En esta sección, instalaremos el servidor web Apache y lo configuraremos para que se ejecute en el puerto 8000.

Primero, instale el servidor web Apache usando el siguiente comando:

apt-get install apache2 -y

Una vez que Apache esté instalado, edite el archivo de configuración del puerto de Apache:

nano /etc/apache2/ports.conf

Cambie el puerto predeterminado de Apache de 80 a 8000:

Listen 8000

Guarde y cierre el archivo y luego edite el archivo de configuración predeterminado de Apache:

nano /etc/apache2/sites-enabled/000-default.conf

Cambiar el puerto predeterminado de 80 a 8000 Como se muestra abajo:

<VirtualHost *:8000>

Guarde y cierre el archivo, luego vuelva a cargar el servicio Apache para aplicar los cambios:

systemctl restart apache2

Ahora, abra su navegador web y acceda a la página de prueba de Apache usando la URL http://su-servidor-ip:8000. Debería ver la página de prueba predeterminada de Apache en la siguiente pantalla:

página predeterminada de apache

Instalar y configurar Nginx

Ahora, instalaremos y configuraremos Nginx como un proxy inverso para pasar las solicitudes entrantes al servidor Apache.

Primero, instale Nginx con el siguiente comando:

apt-get install nginx -y

Una vez que Nginx esté instalado, edite el archivo de configuración de host virtual predeterminado de Nginx con el siguiente comando:

nano /etc/nginx/sites-enabled/default

Elimine todas las líneas y agregue las siguientes líneas:

server {

listen 80;
index index.php index.html index.htm;

server_name your-server-ip;
                
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Guarde y cierre el archivo, luego verifique el Nginx para cualquier error de sintaxis con el siguiente comando:

nginx -t

A continuación, vuelva a cargar el servicio Nginx para aplicar los cambios:

systemctl restart nginx

Verificar servidor web Nginx

En este punto, Nginx está instalado y configurado para pasar todas las solicitudes al servidor backend de Apache. Ahora puede abrir su navegador web y escribir la URL http://ip-de-su-servidor. Debería ver la página predeterminada del servidor web Apache en la siguiente pantalla:

Proxy inverso Nginx

Conclusión

¡Felicidades! ha instalado y configurado correctamente Nginx como proxy inverso para Apache. Ahora puede usar esta configuración en el entorno de producción para acelerar el rendimiento de su sitio web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *