Table of Contents
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
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 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
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 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
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
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 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 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
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
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
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 .