GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Varnish Reverse Proxy con Nginx en Ubuntu 16.04 LTS

Varnish es un servidor proxy centrado en el almacenamiento en caché de HTTP. Está diseñado como acelerador de HTTP y puede actuar como proxy inverso para su servidor web Apache o Nginx. Varnish se ha utilizado para sitios web de alto perfil y alto tráfico, incluidos Wikipedia, The Guardian y el New York Times.

En este tutorial, le mostraré cómo instalar y configurar el acelerador HTTP Varnish como un proxy inverso para el servidor web Nginx. El servidor web real Nginx se ejecutará en el puerto HTTP no estándar 8080. Y Varnish se ejecutará como proxy inverso en el puerto HTTP 80. Para esta guía, usaremos el servidor Ubuntu 16.04.

Lo que haremos

  1. Instalar Nginx en Ubuntu 16.04
  2. Configurar Nginx en el puerto 8080
  3. Instalar Varnish en Ubuntu 16.04
  4. Configurar Varnish como proxy inverso para Nginx
  5. Configurar el cortafuegos UFW
  6. Pruebas

Requisitos

  • Ubuntu 16.04
  • Privilegios de raíz

Paso 1:instalar Nginx en Ubuntu 16.04

El primer paso que debemos hacer para este tutorial es instalar Nginx al sistema Ubuntu 16.04. En este paso, instalaremos Nginx (está disponible en el repositorio oficial de Ubuntu), luego iniciaremos el servicio y luego lo habilitaremos para que se inicie cada vez que se inicia el sistema.

Instale Nginx desde el repositorio de Ubuntu usando el comando apt.

sudo apt install nginx -y

Una vez completada la instalación, inicie Nginx y habilítelo para que se inicie cada vez que se inicie el sistema con los siguientes comandos systemctl.

systemctl start nginx
systemctl enable nginx

El servidor web de Nginx se ejecuta en el puerto HTTP predeterminado; verifíquelo con netstat y asegúrese de que Nginx utilice el puerto HTTP.

netstat -plntu

Paso 2:configurar Nginx en el puerto 8080

En este paso, configuraremos nginx para que se ejecute en el puerto HTTP no estándar 8080. Para este propósito, debemos editar los archivos de host virtual en el directorio 'sitios disponibles'.

Vaya al directorio de configuración de Nginx y edite el archivo de host virtual "predeterminado" usando vim.

cd /etc/nginx/
vim sites-available/default

Cambie el valor de la línea 'escuchar' a 8080.

        listen 8080 default_server;
        listen [::]:8080 default_server;

Guardar y salir.

Ahora pruebe la configuración de Nginx y asegúrese de que no haya ningún error. Luego reinicie el servicio.

nginx -t
systemctl restart nginx

Ahora pruebe nginx nuevamente usando netstat y asegúrese de que se esté ejecutando en el puerto HTTP no estándar 8080.

netstat -plntu

El servidor web Nginx se instaló y ahora se ejecuta en el puerto 8080.

Paso 3:instalar Varnish en Ubuntu 16.04

Ahora necesitamos instalar Varnish en el sistema. Podemos instalar la última versión de la herramienta desde la fuente. Y para esta guía, instalaremos Varnish desde el repositorio de Ubuntu - Varnish v4.

Instale el barniz usando el comando apt a continuación.

sudo apt install varnish -y

Ahora inicie Varnish y permita que se inicie en el arranque del sistema usando los siguientes comandos systemctl.

systemctl start varnish
systemctl enable varnish

De forma predeterminada, Varnish utilizará el puerto 6081 para el acceso público y el puerto 6082 para la interfaz web de administración de Varnish. Verifíquelo usando el comando netstat y asegúrese de que esos puertos estén en la lista.

netstat -plntu

Se ha instalado Varnish HTTP Accelerator.

Paso 4:configurar Varnish como proxy inverso para Nginx

En este tutorial, utilizaremos Varnish como proxy inverso para el servidor web Nginx. Varnish se ejecutará en el puerto HTTP 80 y el servidor web Nginx en el puerto HTTP 8080 (está completo).

En este paso, configuraremos Varnish para Nginx, definiremos el servidor backend y luego cambiaremos Varnish para que se ejecute en el puerto HTTP 80.

Ahora vaya al directorio de configuración de Varnish y edite el archivo 'default.vcl'.

cd /etc/varnish
vim default.vcl

En la línea de fondo, defina la configuración como se muestra a continuación.

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Guardar y salir.

Nota:

  • .host =Dirección del servidor web back-end.
  • .puerto =El servidor web respaldado que se ejecuta.

La configuración del backend se ha completado.

A continuación, debemos configurar Varnish para que se ejecute en el puerto HTTP 80. Vaya al directorio '/etc/default' y edite el archivo de configuración de Varnish 'varnish'.

cd /etc/default/
vim varnish

En la línea 'DAEMON_OPTS', cambie el puerto predeterminado 6081 al puerto HTTP 80.

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

Guardar y salir.

Ahora edite el archivo de servicio de barniz en el directorio '/lib/systemd/system'. Vaya al directorio del sistema systemd y edite el archivo varnish.service.

cd /lib/systemd/system
vim varnish.service

En la línea 'ExecStart', cambie el puerto varnish 6081 al puerto HTTP 80.

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

Guardar y salir.

Vuelva a cargar la configuración de systemd y reinicie varnish.

systemctl daemon-reload
systemctl restart varnish

Una vez completada la configuración, verifique Varnish usando el comando netstat a continuación.

netstat -plntu

Asegúrese de que Varnish se esté ejecutando en el puerto HTTP 80 como se muestra a continuación.

Se completó la configuración de Varnish como proxy inverso para Nginx.

Paso 5:configurar el cortafuegos UFW

El sistema Ubuntu viene con un firewall legible por humanos predeterminado llamado 'UFW'. Si no tiene el paquete, instálelo usando el comando apt a continuación.

sudo apt install ufw

En este paso, activaremos el firewall y abriremos nuevos puertos para SSH, HTTP y HTTPS.

Ejecute los comandos ufw a continuación.

ufw allow ssh
ufw allow http
ufw allow https

Ahora active el cortafuegos y habilítelo para que se inicie siempre en el momento del arranque.

ufw enable

Escribe 'y' y presiona Enter para confirmar.

El cortafuegos UFW está activado y ahora se puede acceder a HTTP y al puerto HTTPS desde la red externa.

Paso 6 - Prueba

- Prueba usando cURL

Probando el barniz usando el comando curl, para que podamos ver los encabezados HTTP del servidor.

curl -I hakase-labs.co

Y obtendrá el resultado del encabezado HTTP 'Via:1.1 varnish-v4' como se muestra a continuación.

- Prueba usando el navegador web

Abra su navegador web y escriba la siguiente URL o dirección del servidor. El mío es: http://hakase-labs.co

Asegúrese de obtener la página predeterminada de Nginx como se muestra a continuación.

- Prueba del registro de barniz

Varnish proporciona algunos comandos para administrar y ver registros. Usaremos 'varnishncsa' para obtener el registro de acceso de barniz.

varnishncsa

Y obtendrá el resultado como se muestra a continuación.

Se ha completado la instalación y configuración de Varnish como proxy inverso para el servidor web Nginx.


Ubuntu
  1. Cómo implementar Modsecurity con Nginx en Ubuntu 20.04 LTS

  2. Cómo instalar Odoo 11 en Ubuntu 16.04 con Nginx como proxy inverso

  3. Cómo instalar Odoo 10 en Ubuntu 16.04 con Nginx como proxy inverso

  4. Cómo instalar Flectra en Ubuntu 20.04 con Nginx como proxy inverso

  5. Cómo instalar Odoo 12 en Ubuntu 18.04 con Nginx como proxy inverso

Cómo instalar Rocket.chat con proxy inverso nginx en Ubuntu 20.04

Cómo instalar phpMyAdmin con Nginx (LEMP) en Ubuntu 18.04 LTS

Cómo instalar Nginx con el módulo Ngx_Pagespeed en Ubuntu 16.04 LTS

Cómo instalar Joomla con Nginx en Ubuntu 18.04 LTS

Cómo instalar phpMyAdmin con Nginx en Ubuntu 18.04 LTS

Cómo instalar phpMyAdmin con Nginx en Ubuntu 20.04 LTS