Cómo configurar Nginx como proxy inverso para Apache en Debian 11
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:
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:
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.