Acelere el rendimiento de Nginx con Ngx_Pagespeed en CentOS 7

Acelere el rendimiento de Nginx con Ngx_Pagespeed en CentOS 7

Nginx. [engine x] es un potente servidor web y software de proxy inverso, multiplataforma, gratuito y de código abierto escrito en C. También es un estándar IMAP/POP3 y TCP/UDP servidor proxy, y se puede utilizar como un equilibrador de carga.

Nginx es un servidor HTTP bien conocido (comparable al servidor HTTP Apache) que alimenta numerosos sitios en la web; es popular por su alto rendimiento y estabilidad.

Existen varios factores importantes a considerar cuando desea mejorar la experiencia del usuario en su sitio, incluida la velocidad del sitio y la velocidad de la página (también conocida como tiempo de carga de la página) . Si su sitio funciona con Nginx, puede utilizar ngx_pagespeed. para este propósito.

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

Ngx_pagespeed. es un módulo Nginx gratuito y de código abierto que se utiliza para mejorar la velocidad de los sitios y reducir el tiempo de carga de la página. Reduce significativamente el tiempo que tardan los usuarios en ver e interactuar con el contenido de su sitio.

Ngx_pagespeed Funciones:

  • Compatibilidad con HTTPS y control de URL.
  • Optimización de imagen: eliminación de metadatos-data, cambio de tamaño dinámico, recompresión.
  • Minificación, concatenación, inserción y delineación de CSS y JavaScript.
  • Inserción de recursos pequeños.
  • Aplazamiento de 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.

En En este tutorial, mostraremos cómo instalar Nginx. con ngx_pagespeed. y probar toda la instalación en RHEL/CentOS 7.

freestar. config.enabled_slots.push

Atención. los usuarios de Debian y Ubuntu pueden seguir esta guía para Instale Ngx_Pagespeed para mejorar el rendimiento de Nginx.

Paso 1 : Instale Nginx desde la fuente

1.. Para instalar Nginx. con ngx_pagespeed. debe compilarlo desde la fuente. Primero instale todos los paquetes necesarios para compilar Nginx desde una fuente como esta.

# yum install wget gcc cmake unzip gcc-c ++ pcre-devel zlib-devel O # yum group install “Herramientas de desarrollo”  Instalar herramientas de desarrollo en CentOS 7  Instalar herramientas de desarrollo en CentOS 7 Instalar herramientas de desarrollo en CentOS 7

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

# mkdir ~/descargas # cd ~/downloads # wget-c https://nginx.org/download/nginx-1.13.2.tar.gz # tar-xzvf nginx-1.13.2.tar.gz  Descargar Nginx Source Files Descargar archivos fuente Nginx Descargar archivos fuente Nginx

3.. A continuación, descargue los archivos fuente ngx_pagespeed y descomprima los archivos comprimidos.

# wget-c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip # descomprimir v1.12.34.2-stable.zip  Descargar Ngx_Pagespeed  Descargar Ngx_Pagespeed Descarga Ngx_Pagespeed

4.. Ahora muévete al directorio ngx_pagespeed descomprimido y obtén las bibliotecas de optimización de PageSpeed ​​para compilar Nginx de la siguiente manera.

# cd ngx_pagespeed-1.12.34.2-stable/# 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 PageSpeed Bibliotecas de optimización  Descargar las bibliotecas de optimización de PageSpeed ​​ Descargar las bibliotecas de optimización de PageSpeed ​​

Paso 2: Configurar y compilar Nginx con Ngx_Pagespeed

5.. Ahora vaya al directorio nginx-1.13.2. y configure la fuente de Nginx ejecutando los siguientes comandos.

# cd ~/descargas/nginx-1.13.2 # ./configure-add-module = $ HOME/downloads/ngx_pagespeed-1.12.34.2-stable/–user = nadie–group = nadie–error-log-path =/var/log/nginx/error.log–http-log-path =/var/log/nginx/access.log–pid-path =/var/run/nginx.pid $ PS_NGX_EXTRA_FLAGS  Configurar Nginx con Ngx_Pagespeed  Configurar Nginx con Ngx_Pagespeed Configure Nginx con Ngx_Pagespeed

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

# make # make install  Compile Nginx con Ngx_Pagespeed  Compile Nginx con Ngx_Pagespeed Compile Nginx con Ngx_Pagespeed

7.. Cuando se complete el proceso de instalación, cree todos los enlaces simbólicos necesarios para Nginx.

# ln-s/usr/local/nginx/conf//etc/nginx/# ln-s/usr/local/nginx/sbin/nginx/usr/sbin/nginx Crear Nginx Symlinks  Crear enlaces simbólicos Nginx Crear enlaces simbólicos Nginx

Paso 3: Creación de un archivo de unidad Nginx para SystemD

8.. A continuación, dado que systemd. es el sistema init. en CentOS 7. debe crear manualmente el archivo de unidad Nginx para él.

Primero, cree el archivo /lib/systemd/system/nginx.service. luego tome el archivo de servicio systemd de NGINX y pegue la configuración del archivo de la unidad en el siguiente archivo.

# vi/lib/systemd/system/nginx.service

Tome nota de la ubicación del PIDFile. y el binario NGINX. que configuró mientras configuraba y compilaba Nginx, los establecerá en las variables apropiadas en el archivo de unidad como se muestra a continuación:

[Unidad] Descripción = El HTTP NGINX y servidor proxy inverso Después = syslog.target network.target remote-fs.target nss-lookup.target [Servicio] Tipo = bifurcación PIDFile =/var/run/nginx.pid ExecStartPre =/usr/sbin/nginx-t ExecStart =/usr/sbin/nginx ExecReload =/bin/kill-s HUP $ MAINPID ExecStop =/bin/kill-s SALIR $ MAINPID PrivateTmp = true [Instalar] WantedBy = multi-user.target  Nginx Systemd Service Unit File  Nginx Systemd Service Unit File Nginx Systemd Service Archivo de unidad

Guarde el archivo y ciérrelo.

9.. En este punto, inicie el servicio nginx. mientras tanto y habilítelo para que se inicie en el arranque del sistema ejecutando los siguientes comandos.

# systemctl start nginx # systemctl enable nginx # systemctl status nginx  Iniciar y habilitar Nginx  Iniciar y habilitar Nginx Iniciar y habilitar Nginx

Paso 4: Configure Nginx con el módulo Pagespeed

10.. Con Nginx instalado, a continuación, debe habilitar el módulo Ngx_pagespeed. Comience por crear un directorio donde el módulo almacenará en caché los archivos de su sitio web y establezca los permisos apropiados en este directorio con los siguientes comandos.

# mkdir-p/var/ngx_pagespeed_cache # chown-R nadie: nadie/var/ngx_pagespeed_cache  Crear directorio de caché de Nginx  Crear directorio de caché de Nginx Crear directorio de caché de Nginx

11.. Ahora es el momento de habilite el módulo Ngx_pagespeed. abra el archivo de configuración de Nginx y agregue las líneas a continuación.

Importante. Si tiene conf Si configuró cualquier host virtual nginx en el servidor, agregue las directivas de pagepeed anteriores a cada bloque del servidor para habilitar Ngx_pagespeed en cada sitio.

# vi/etc/nginx/nginx.conf

Agregue los siguientes Ngx_pagespeed. líneas de configuración dentro del bloque del servidor.

# 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”

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

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 logs/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; # #

12.. Luego, asegúrese de que el archivo de configuración de Nginx esté libre de errores ejecutando el comando a continuación, verá el resultado a continuación si todo está bien.

# nginx-t  Verifique la configuración de Nginx en busca de errores  Verificar la configuración de Nginx en busca de errores Verificar la configuración de Nginx en busca de errores

13.. Finalmente, reinicie el servidor Nginx para que los cambios surtan efecto.

# systemctl restart nginx

Paso 5: Probar Nginx con Ngx_pagespeed

14.. Para saber si Ngx_pagespeed ahora funciona junto con Nginx, debe aparecer en el encabezado X-Page-Speed ​​.