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 software de servidor web poderoso y de código abierto gratuito y de código abierto,. También es un servidor proxy IMAP/POP3 y TCP/UDP estándar, y se puede usar como un equilibrador de carga.

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

Hay 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 conocido como tiempo de carga de la página). Si su sitio está alimentado por NGINX, entonces puede usar ngx_pagespeed para este propósito.

Leer sugerido: Instalar mod_pagespeed para mejorar el rendimiento del servidor Apache

Ngx_pagespeed es un módulo Nginx de código abierto y libre utilizado para mejorar la velocidad de los sitios, así como el tiempo de carga de la página reduciendo. Reduce significativamente el tiempo que lleva a los usuarios ver e interactuar con el contenido de su sitio.

Características NGX_PagesPeed:

  • Soporte para HTTPS y control de URL.
  • Optimización de imágenes: eliminación de metadatos, cambio de tamaño dinámico, recompresión.
  • Minificación de CSS y JavaScript, concatenación, inscripción y contorno.
  • Pequeños recursos en línea.
  • Diferir la imagen de la imagen y JavaScript.
  • HTML reescritura.
  • Extensión de vida útil de caché.
  • Permite configurar para múltiples servidores y muchos otros.

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

Atención: Los usuarios de Debian y Ubuntu pueden seguir esta guía para instalar ngx_pagespeed para mejorar el rendimiento de Nginx.

Paso 1: Instale Nginx desde la fuente

1. Instalar Nginx con ngx_pagespeed requiere que lo compile desde la fuente. Primero instale todos los paquetes requeridos para compilar NGINX de fuente como esta.

# yum install wget gcc cmake unzip gcc-c ++ pcre-devel zlib-devel o # yum grupo instalación "herramientas de desarrollo" 
Instalación de herramientas de desarrollo en CentOS 7

2. A continuación, obtenga archivos fuente de la última versión de Nginx (1.13.2 En el momento de este escrito) usando el comando wget y extrae la bola de alquitrán descargada como se muestra a continuación.

# mkdir ~/descargas # cd ~/descargas # wget -c https: // nginx.org/descargar/nginx-1.13.2.alquitrán.GZ # TAR -XZVF NGINX -1.13.2.alquitrán.GZ 
Descargar archivos de origen nginx

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

# wget -c https: // github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-estable.Zip # Unzip V1.12.34.2-estable.cremallera 
Descargar ngx_pagespeed

4. Ahora muévase al directorio NGX_PageSpeed ​​descomprimido y obtenga 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.alquitrán.GZ # TAR -XVZF 1.12.34.2-x64.alquitrán.GZ 
Descargar bibliotecas de optimización de págspeed

Paso 2: Configurar y compilar NGINX con NGX_PageSpeed

5. Ahora entra en el nginx-1.13.2 directorio, y configure la fuente nginx ejecutando los comandos a continuación.

# CD ~/Descargas/Nginx-1.13.2 # ./configurar --add-module = $ home/downloads/ngx_pagespeed-1.12.34.2-estable/--user = nadie --group = no 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

6. A continuación, compilar e instalar Nginx como sigue.

# hacer # hacer instalar 
Compilar 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 enlaces simbólicos nginx

Paso 3: Creación del archivo de la unidad Nginx para Systemd

8. Luego, desde system es el en eso sistema Centos 7, Debe crear manualmente el archivo de la unidad Nginx para ello.

Fisrt, crea el archivo /lib/systemd/system/nginx.servicio, Luego tome el archivo de servicio Nginx Systemd Pegue la configuración del archivo de la unidad en el archivo a continuación.

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

Tome nota de la ubicación del Pidfile y el Nginx Binario que establece al configurar y compilar NGINX, las establecerá en las variables apropiadas en el archivo de la unidad como se muestra a continuación:

[Unidad] Descripción = el Nginx HTTP y el servidor proxy inverso después = syslog.red de destino.Target Remote-FS.Target NSS-Lookup.Target [Service] type = forting pidfile =/var/run/nginx.PID execstartPre =/usr/sbin/nginx -t execstart =/usr/sbin/nginx execreload =/bin/kill -s hup $ mainpid execstop =/bin/kill -s sale $ mainpid privateTmp = true [instalación] WantedBy -usuario.objetivo 
Archivo de la unidad de servicio Nginx Systemd

Guarde el archivo y cierre.

9. En este punto, comienza nginx servicio durante el tiempo medio y habilite que comience en el arranque del sistema ejecutando los comandos a continuación.

# SystemCTL Start Nginx # SystemCTL Habilitar Nginx # SystemCTL Status Nginx 
Iniciar y habilitar nginx

Paso 4: Configurar Nginx con el módulo de PageSpeed

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

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

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

Importante: Si ha configurado algún host de Nginx Virtual en el servidor, agregue las directivas de PageSpeed ​​anteriores a cada bloque de servidor para habilitar NGX_PageSpeed ​​en cada sitio.

# vi/etc/nginx/nginx.confusión 

Agregar a continuación 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 PageSpeed ​​vaya al controlador de # PageSpeed ​​y no se establecen encabezados extraños. Ubicación ~ "\ \.PageSpeed ​​\.([Arizona]\.)?[A-Z] 2 \.[^.] 10 \.[^.]+"add_header" "" "; ubicación ~"^/ngx_pagespeed_static/" ubicación ~"^/ngx_pagespeed_beacon " 

El siguiente es un ejemplo de trabajo 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; trabajador_procesos 1; #Error_log Logs/Error.registro; #Error_log Logs/Error.aviso de registro; #Error_log Logs/Error.información de registro; #pid logs/nginx.pid; eventos trabajador_connections 1024;  http incluir mime.tipos; APLICACIÓN DE LA APLICACIÓN/OCTETA DEFORT_TYPE; #log_format Main '$ Remote_addr - $ remoto_user [$ Time_local] "$ request"' # '$ status $ body_bytes_sent "$ http_referer"' # '"$ http_user_agent" "$ http_x_forweded_for"';; #ACCESS_LOG LOGS/Access.registro principal; SendFile On; #TCP_NOPUSH ON; #keepalive_timeout 0; KeepAlive_TimeOut 65; #gzip on; servidor escuchar 80; server_name localhost; #CharSet KOI8-R; #access_log logs/host.acceso.registro principal; # Configuración principal de PageSpeed ​​PageSpeed ​​On; PageSpeed ​​FileCachePath /Var /Ngx_PagesPeed_Cache; # Asegúrese de que las solicitudes de recursos optimizados de PageSpeed ​​vaya al controlador de # PageSpeed ​​y no se establecen encabezados extraños. Ubicación ~ "\ \.PageSpeed ​​\.([Arizona]\.)?[A-Z] 2 \.[^.] 10 \.[^.]+"add_header" "" "; ubicación ~"^/ngx_pagespeed_static/" ubicación ~"^/ngx_pagespeed_beacon " ubicación / raíz html; índice índice.índice HTML.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 raíz html;  # proxy Los scripts de PHP a Apache escuchando en 127.0.0.1:80 # #location ~ \.php $  # proxy_pass http: // 127.0.0.1; # # Pase los scripts PHP al servidor FastCGI escuchando en 127.0.0.1: 9000 # #location ~ \ \.php $  # root html; # fastcgi_pass 127.0.0.1: 9000; # FASTCGI_INDEX ÍNDICE.php; # fastcgi_param script_filename /scripts $ fastcgi_script_name; # incluye fastcgi_params; # # negar el acceso a .archivos htaccess, si la raíz del documento de Apache coincide con el # #location ~ /\ \ \ \ \ \ \.ht  # negar todo; # # Otro host virtual que usa la mezcla de configuración IP-, nombre y puerto #Server  # Listen 8000; # Escucha a SomeName: 8080; # server_name somename alias otro.alias; # ubicación /  # root html; # índice índice.índice HTML.htm; # # # Https servidor # #server  # escuchar 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.llave; # ssl_session_cache compartido: ssl: 1m; # ssl_session_timeout 5m; # SSL_CIPHERS ALTO:!Anull:!MD5; # ssl_prefer_server_ciphers on; # ubicación /  # root html; # índice índice.índice HTML.htm; # # 

12. Posteriormente, asegúrese de que el archivo de configuración NGINX esté libre de errores al ejecutar el comando a continuación, verá la salida a continuación si todo está bien.

# nginx -t 
Verifique la configuración de Nginx para obtener errores

13. Finalmente, reinicie el servidor NGINX para que los cambios entren en vigencia.

# SystemCTL reiniciar nginx 

Paso 5: Prueba de Nginx con NGX_PageSpeed

14. Para saber si Ngx_pagespeed ahora está trabajando en conjunto con Nginx, debe aparecer en el Velocidad de la página encabezamiento.

# curl -i -p http: // localhost 
Prueba Nginx con NGX_PageSpeed

En caso de que no haya podido ver el encabezado anterior, regrese al paso 11 y siga cuidadosamente las instrucciones para habilitar NGX-PageSpeed ​​con los pasos posteriores.

Repositorio de GitHub NGX-PageSpeed: https: // github.com/pageSpeed/ngx_pagespeed

Eso es todo! En este tutorial, mostramos cómo instalar y configurar NGINX con el módulo NGX_PagesPeed para optimizar y mejorar el rendimiento del sitio y reduce el tiempo de carga de la página.

Para asegurar el servidor web NGINX, lea este artículo: la guía final para asegurar, endurecer y mejorar el rendimiento del servidor web NGINX.

Como siempre, no dude en hacernos saber cualquier consulta o pensamiento sobre este tutorial.