Instale Nginx con Ngx_Pagespeed (Optimización de velocidad) en Debian y Ubuntu

Instale Nginx con Ngx_Pagespeed (Optimización de velocidad) en Debian y Ubuntu

En nuestro último artículo, mostramos cómo acelerar el rendimiento de Nginx con Ngx_Pagespeed en CentOS 7. En este tutorial, explicaremos cómo instalar Nginx con ngx_pagespeed en el sistema Debian y Ubuntu para mejorar el rendimiento de los sitios web de Nginx.

Nginx. [engine x] es un popular servidor HTTP gratuito y de código abierto que alimenta muchos sitios en la web: conocido por su alto rendimiento y estabilidad. También funciona como proxy inverso, correo genérico y servidor proxy TCP/UDP, y además se puede implementar como un equilibrador de carga.

Ngx_pagespeed. es un módulo Nginx gratuito y de código abierto destinado a mejorar la velocidad de los sitios así como a reducir el tiempo de carga de la página; reduce drásticamente el tiempo que tardan los usuarios en ver e interactuar con el contenido de su sitio.

Lectura sugerida: Instale Mod_Pagespeed para mejorar el rendimiento del servidor Apache

Funciones de Ngx_pagespeed:

  • Compatibilidad con HTTPS con URL control.
  • Optimización de la imagen: eliminación de metadatos, cambio de tamaño dinámico, recompresión.
  • Minificación, concatenación, inserción y delineado de CSS y JavaScript.
  • Recursos pequeños inlining.
  • Aplazando la carga de imágenes y JavaScript.
  • Reescritura de HTML.
  • Extensión de la vida útil de la caché.
  • Permite configurar varios servidores y muchos otros.

Paso 1: Instalación de Nginx desde la fuente

1.. Para instalar Nginx. con ngx_pagespeed. de la fuente requiere la instalación de los siguientes paquetes en el sistema.

$ sudo apt-ge t instalar build-essential zlib1g-dev libpcre3 libpcre3-dev descomprimir  Instalar Build Essential Tools en Ubuntu  Instalar Build Essential Tools en Ubuntu Instalar Build Essential Tools en Ubuntu

2.. A continuación, descargue los archivos fuente de la última versión de Nginx ( 1.13.2. en el momento de escribir este artículo) utilizando el comando wget y extraiga los archivos como se muestra a continuación .

$ mkdir-p ~/make_nginx $ cd ~/make_nginx $ wget-c https://nginx.org/download/nginx-1.13.2.tar.gz $ tar-xzvf nginx-1.13.2. tar.gz  Descargar Nginx Source Package  Descargar el paquete fuente de Nginx Descargar el paquete fuente de Nginx freestar.config.enabled_slots.push (LocationName:” tecmint_incontent “, slotId:” tecmint_incontent “);

3.. A continuación, obtenga los archivos fuente ngx_pagespeed. y descomprima el archivo comprimido de esta manera.

$ wget-c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip $ unzip v1.12.34.2-stable.zip  Descargar Ngx_Pagespeed Source Files Descargar archivos fuente de Ngx_Pagespeed Descargar Archivos fuente de Ngx_Pagespeed

4.. Luego, muévase al directorio ngx_pagespeed. descomprimido y descargue las bibliotecas de optimización de PageSpeed ​​para compilar Nginx de la siguiente manera.

$ cd ngx_pagespeed-1.12 .34.2-estable/$ wget-c https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz $ tar-xvzf 1.12.34.2-x64.tar.gz  Descargar las bibliotecas de PageSpeed ​​  Descargar las bibliotecas de PageSpeed ​​ Descargar las bibliotecas de PageSpeed ​​

Paso 2: Configurar y compilar Nginx con Ngx_Pagespeed

5.. Luego, pase a nginx-1.13. 2. y configure la fuente de Nginx usando los siguientes comandos.

$ cd ~/make_nginx/nginx-1.13.2 $ ./configure–add-module = $ HOME/make_nginx/ngx_pagespeed-1.12 .34.2-estable/$ PS_NGX_EXTRA_FLAGS  Configurar Nginx con el módulo Ngx_Pagespeed  Configurar Nginx con el módulo Ngx_Pagespeed Configurar Nginx con el módulo Ngx_Pagespeed

6.. A continuación, compile e instale Nginx de la siguiente manera.

$ make $ sudo make install  Instale Nginx con Ngx_Pagespeed Instalar Nginx con Ngx_Pagespeed Instalar Nginx con Ngx_Pagespeed

7.. Una vez finalizado el proceso de instalación, ejecute los siguientes comandos para crear los enlaces simbólicos necesarios para Nginx.

$ sudo ln-s/usr/local/nginx/conf//etc/nginx $ sudo ln-s/usr/local/nginx/sbin/nginx/usr/sbin/nginx

Paso 3: Creación Archivo de unidad Nginx para SystemD

8.. Aquí, tendrá que crear manualmente el archivo de unidad Nginx ya que systemd es el sistema de inicio en las versiones más recientes del sistema Debian y Ubuntu

Primero, cree el archivo /lib/systemd/system/nginx.service.

$ sudo vi/lib/systemd/system/nginx.service

Luego descargue el Archivo de servicio systemd NGINX pegue la configuración del archivo de la unidad en el archivo.

[Unidad] Descripción = El servidor proxy inverso y HTTP NGINX Después = syslog.target network.target remote-fs.target nss-lookup.target [Service] Escriba = bifurcando PIDFile =/var/run/nginx.pid ExecStartPre =/usr/sbin/nginx-t ExecStart =/usr/sb in/nginx ExecReload =/bin/kill-s HUP $ MAINPID ExecStop =/bin/kill-s QUIT $ MAINPID PrivateTmp = true [Instalar] WantedBy = multi-user.target

Guarde el archivo y ciérrelo.

9.. Ahora, inicie el servicio nginx. por el momento y habilítelo para que se inicie en el arranque del sistema mediante los siguientes comandos.

$ sudo systemctl start nginx $ sudo systemctl enable nginx

Importante. Después de iniciar el servicio Nginx, es posible que vea un error como se muestra en la captura de pantalla a continuación.

systemd [1]: nginx.service: archivo PID/run/nginx.pid no legible (¿todavía?) después del inicio: no existe tal archivo o directorio  Nginx no pudo iniciar Error  Nginx no pudo iniciar el error Error al iniciar Nginx

Para solucionarlo, abre la configuración de Nginx /etc/nginx/nginx. conf. y agregue la siguiente línea.

#pid logs/nginx.pid; para pedir/run/nginx.pid;

Finalmente reinicie el servicio nginx nuevamente.

$ sudo systemctl daemon-reload $ sudo systemctl start nginx $ sudo systemctl status nginx

Paso 4: Configure Nginx con el módulo Pagespeed

10.. Ahora que Nginx está instalado y ejecutándose en su sistema, debe habilitar el módulo Ngx_pagespeed. Primero cree un directorio donde el módulo almacenará en caché los archivos de su sitio web y establezca los permisos adecuados en este directorio de la siguiente manera.

$ sudo mkdir-p/var/ngx_pagespeed_cache $ sudo chown-R nadie: nogroup/var/ngx_pagespeed_cache

11.. Para habilitar el módulo Ngx_pagespeed, abra el archivo de configuración de Nginx.

$ sudo vi/etc/nginx/nginx.conf

Agregue las siguientes líneas de configuración de Ngx_pagespeed dentro del servidor cuadra.

# Configuración principal de Pagespeed pagespeed on; pagespeed FileCachePath/var/ngx_pagespeed_cache; # Asegúrese de que las solicitudes de recursos optimizados de velocidad de página vayan al controlador de velocidad de página # y no se establezcan encabezados extraños. ubicación ~ “\ .pagespeed \. ([a-z] \.)? [a-z] 2 \. [^.] 10 \. [^.] +” add_header “” “”; ubicación ~ “^/ngx_pagespeed_static/” ubicación ~ “^/ngx_pagespeed_beacon”

Nota. si ha implementado cualquier host virtual nginx en el servidor, agregue las directivas de pagepeed anteriores a cada bloque de servidor para habilitar Ngx_pagespeed en cada sitio.

El siguiente es un ejemplo de trabajo del archivo de configuración de Nginx con Ngx_pagespeed. habilitado en el virtual predeterminado host.

Configuración de Nginx con Ngx_pagespeed #user nadie; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; pid/run/nginx.pid;. eventos worker_connections 1024; http {incluyen mime.types; tipo_predeterminado application/octet-stream; #log_format main ‘$ remote_addr-$ remote_user [$ time_local] “$ request”‘ # ‘$ status $ body_bytes_sent “$ http_referer”‘ # ‘”$ http_user_agent” “$ http_x_fordered_for”‘; #access_log logs/access.log main; enviar archivo encendido; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip activado; servidor escuchar 80; nombre_servidor localhost; #charset koi8-r; #access_log logs/host.access.log main; # Configuración principal de Pagespeed pagespeed on; pagespeed FileCachePath/var/ngx_pagespeed_cache; # Asegúrese de que las solicitudes de recursos optimizados de velocidad de página vayan al controlador de velocidad de página # y no se establezcan encabezados extraños. ubicación ~ “\ .pagespeed \. ([a-z] \.)? [a-z] 2 \. [^.] 10 \. [^.] +” add_header “” “”; ubicación ~ “^/ngx_pagespeed_static/” ubicación ~ “^/ngx_pagespeed_beacon” . ubicación/html raíz; index index.html index.htm; #error_page 404/404.html; # redirigir las páginas de error del servidor a la página estática/50x.html # error_page 500 502 503 504/50x.html; ubicación =/50x.html html raíz; # proxy de los scripts PHP para que Apache escuche en 127.0.0.1:80 # # ubicación ~ \ .php $ # proxy_pass http://127.0.0.1; # # pasar los scripts PHP al servidor FastCGI escuchando 127.0.0.1:9000 # #location ~ \ .php $ # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME/scripts $ fastcgi_script_name; # include fastcgi_params; # # niegue el acceso a los archivos .htaccess, si la raíz del documento # de Apache # coincide con la # # ubicación ~/\.ht # de nginx # deny all; # # otro host virtual usando una combinación de configuración basada en IP, nombre y puerto # #server # listen 8000; # escuchar un nombre: 8080; # server_name somename alias otro.alias; # ubicación/# html raíz; # index index.html index.htm; # # # Servidor HTTPS # # servidor # listen 443 ssl; # nombre_servidor localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache compartido: SSL: 1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:! aNULL:! MD5; # ssl_prefer_server_ciphers on; # ubicación/# html raíz; # index index.html index.htm; # #

Guarde y cierre el archivo.

12.. Luego, verifique si la sintaxis del archivo de configuración de Nginx está libre de errores ejecutando el siguiente comando, si es correcto, verá el resultado a continuación:

$ sudo nginx-t nginx: el archivo de configuración/usr/local/nginx/conf/nginx.conf sintaxis está bien nginx: archivo de configuración/usr/local/nginx/conf/nginx.conf prueba es exitosa

13.. Luego reinicie el servidor Nginx para efectuar los cambios recientes.

$ sudo systemctl restart nginx

Paso 5: Probar Nginx con Ngx_pagespeed

14.. Ahora pruebe si Ngx-pagespeed ahora funciona junto con Nginx usando el comando cURL a continuación.