Cómo configurar Nginx como proxy inverso para Apache en un Ubuntu 16.04 VPS o servidor dedicado

Nginx y Apache son servidores web innovadores de código abierto utilizados con PHP. Actualmente, Apache es el servidor número uno de la mayoría de los sitios web desde su lanzamiento hace una década, mientras que Nginx ocupa el segundo lugar como el servidor más preferido para los sitios activos. Cada servidor tiene su cuota de popularidad por razones obvias: el poder de Apache y la velocidad de Nginx son ampliamente conocidos. Sin embargo, ambos servidores tienen algunas deficiencias. Apache se considera duro en la memoria del servidor, mientras que Nginx (que es ideal para archivos estáticos) requiere la ayuda de PHP-FPM o módulos similares para contenido dinámico.


En este artículo, lo ayudaremos a combinar los dos servidores para aprovechar sus puntos fuertes y eliminar las deficiencias. Utilizaremos Nginx como procesador estático y Apache como procesador para contenido dinámico de back-end..

Prerrequisitos

Para comenzar con los pasos de este artículo, debe tener lo siguiente:

  • Un servidor dedicado que ejecuta Ubuntu 16.04
  • Una cuenta de usuario estándar con privilegios de sudo en su servidor
  • Una dirección IP estática para este servidor

Empezando

Lo primero al instalar Nginx es asegurarse de que su servidor esté actualizado. T actualice su servidor ejecute los siguientes comandos:

$ sudo apt-get update
$ sudo apt-get upgrade

Paso 1: Instalar Nginx

Comience instalando nginx. Para hacerlo, ejecuta el siguiente comando:

$ sudo apt-get install nginx

Una vez que esté instalado, proceda a configurar y configurar Nginx como un proxy inverso para que pueda ejecutarse en el front-end..

Paso 2: Configurando Nginx

Una vez que se instala Nginx, puede iniciar el proceso de configuración creando un nuevo archivo de host virtual con el comando:

$ sudo nano / etc / nginx / sites-available / webproxy

Agregue la siguiente configuración a su archivo:

servidor {
escucha 80;

root / var / www /;
index index.php index.html index.htm;

nombre_servidor ejemplo.com;

ubicación / {
archivos de prueba $ uri $ uri / /index.php;
}

ubicación ~ \ .php $ {

proxy_set_header X-Real-IP $ remote_addr;
proxy_set_header X-Fordered-For $ remote_addr;
proxy_set_header Host $ host;
proxy_pass http://127.0.0.1:8080;

}

ubicación ~ /\.ht {
negar todo;
}
}

En esta configuración, se aplicaron estos cambios:

  • los raíz se ajustó para especificar el directorio raíz.
  • los try_files Intente atender cualquier página solicitada por un visitante. Si Nginx no puede cumplir con esta solicitud, se pasa a su proxy.
  • los proxy_pass permite que nginx defina la dirección específica de su servidor proxy.
  • los ubicación el bloque limita el acceso al archivo .htaccess.

Ejecute el siguiente comando para verificar la sintaxis de configuración de Nginx:

$ sudo nginx -t

Si todo está bien, debería obtener el siguiente resultado:

nginx: la sintaxis del archivo de configuración /etc/nginx/nginx.conf está bien
nginx: la prueba del archivo de configuración /etc/nginx/nginx.conf es exitosa

A continuación, ejecute el siguiente comando para activar su host virtual:

$ sudo ln -s / etc / nginx / sites-available / proxyhost / etc / nginx / sites-enabled / webproxy

Luego borre el bloque predeterminado del servidor del servicio Nginx, ejecutando el comando:

$ sudo rm / etc / nginx / sites-enabled / default

Inicie su servicio Nginx con el siguiente comando:

$ sudo /etc/init.d/nginx start

Si desea configurar Nginx para que se inicie en el momento del arranque, ejecute el siguiente comando:

$ sudo update-rc.d valores predeterminados de nginx

Paso 3: Instalar Apache

Con Nginx activado, ahora puede instalar Apache para manejar solicitudes proxy.

Para instalar Apache, ejecute el siguiente comando:

$ sudo apt-get install apache2

Hasta ahora, Nginx todavía está apagado, por lo que Apache estará operando en el puerto 80.

Paso 4: configurar Apache

Dirigimos a Nginx para que dirija el proxy al puerto 8080, que es donde Apache escucha para recibir solicitudes. Ahora deberíamos indicarle a Apache que utilice el puerto 8080 y deje el puerto 80 para Nginx. Ahora continúe y abra los puertos de Apache para configurarlos en el puerto correcto en Apache.

Ejecute el siguiente comando para abrir su archivo Apache Ports:

$ sudo nano /etc/apache2/ports.conf

Busque y edite las líneas a continuación para asegurarse de que Apache se esté ejecutando en el puerto 8080 preferido desde el host local:

NameVirtualHost 127.0.0.1:8080
Escuchar 127.0.0.1:8080

Guarda el archivo y cierra. Ahora reinicie su servicio Apache:

$ sudo /etc/init.d/apache2 restart

Puede configurar Apache para que se inicie en el momento del arranque con el siguiente comando:

$ sudo update-rc.d apache2 por defecto

A continuación, edite el archivo virtualhost predeterminado:

$ Sudo /etc/apache2/sites-enabled/000-default.conf

Asegúrese de que la configuración sea la siguiente:

ServerAdmin webmaster @ localhost
DocumentRoot / var / www /
ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log combinado

Guarde el contenido y salga, luego reinicie los servicios Nginx y Apache usando el siguiente comando:

$ sudo /etc/init.d/apache2 restart
$ sudo /etc/init.d/nginx restart

Paso 5: Instalar PHP5

Antes de probar cualquier cosa, asegúrese de instalar PHP con el siguiente comando:

$ sudo apt-get install php5

Guarde y salga, luego reinicie los servicios Nginx y Apache para aplicar estos cambios:

$ sudo service apache2 restart
$ sudo service nginx restart

Paso 6: Prueba del proxy inverso de Nginx

Al configurar todo correctamente, puede probar la funcionalidad del proxy inverso Nginx. Para hacer esto, ejecute el comando curl como se muestra a continuación:

$ curl -I localhost

Deberías ver el texto a continuación:

HTTP / 1.1 200 OK
Servidor: nginx / 1.6.2 (ubuntu)
Fecha: miércoles 28 de julio de 2016 08:34:02 IST
Tipo de contenido: texto / html
Longitud del contenido: 11321
Última modificación: martes, 31 de junio de 2016 10:25:08 IST
Conexión: mantener vivo
Variar: aceptar-codificación
ETag: "564f1a7a-2c39"
Expira: mié, 28 de julio de 2016 08:34:31 IST
Control de caché: sin caché
Aceptar-Rangos: bytes

Liquidación

Ahora todo está configurado, pero vamos a probar si la información del sistema se dirige a Apache ejecutando un script PHP rápido.

Cree su archivo php.info usando el siguiente comando:

$ sudo nano /var/www/info.php

Incluya estas líneas en su archivo:

<?
phpinfo ();
?>

Ahora guarde su archivo y salga. A continuación, abra su navegador y escriba la dirección a continuación (reemplace el “Dominio o dirección IP” con su nombre de dominio correcto.

http: //DOMAIN_OR_IP_ADDRESS/info.php

Esta página aparecerá:

Conclusión

A estas alturas ya debería tener NGINX como proxy inverso para Apache en Ubuntu 16.04. La configuración exitosa de nginx y Apache puede ser un gran impulso para su servidor.

Si está buscando mejorar el rendimiento de sus servidores, le recomendamos que también busque cambiar a un servicio de alojamiento nuevo y más avanzado. En HostAdvice encontrará los mejores servicios de alojamiento web, junto con reseñas de usuarios y precios de planes..

Echa un vistazo a estos 3 mejores servicios de alojamiento web

FastComet

Precio inicial:
$ 2.95


Fiabilidad
9,7


Precios
9.5


Fácil de usar
9,7


Apoyo
9,7


Caracteristicas
9.6

Leer comentarios

Visita FastComet

Alojamiento A2

Precio inicial:
$ 3.92


Fiabilidad
9.3


Precios
9.0


Fácil de usar
9.3


Apoyo
9.3


Caracteristicas
9.3

Leer comentarios

Visita A2 Hosting

ChemiCloud

Precio inicial:
$ 2.76


Fiabilidad
10


Precios
9,9


Fácil de usar
9,9


Apoyo
10


Caracteristicas
9,9

Leer comentarios

Visita ChemiCloud

Artículos de procedimientos relacionados

  • Parte uno: Cómo monitorear Nginx usando Elastic Stack en un CentOS 7 VPS o servidor dedicado
    experto
  • Cómo configurar Nginx y Apache juntos en el mismo Ubuntu VPS o servidor dedicado
    intermedio
  • Parte dos: Cómo monitorear Nginx usando Elastic Stack en un CentOS 7 VPS o servidor dedicado
    experto
  • Cómo instalar Apache Cassandra en un Ubuntu 18.04 VPS o servidor dedicado
    intermedio
  • Cómo alojar múltiples sitios web en un Ubuntu 18.04 VPS o servidor dedicado
    intermedio
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me