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 servidor HTTP popular gratuito y de código abierto que alimenta muchos sitios en la web: bien conocido por su alto rendimiento y estabilidad. También funciona como un proxy inverso, correo genérico y servidor proxy TCP/UDP, y además puede implementarse como un equilibrador de carga.

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

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

Características NGX_PagesPeed:

  • Soporte HTTPS con 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 esquema.
  • 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.

Paso 1: Instalación de Nginx desde la fuente

1. Instalar Nginx con ngx_pagespeed desde la fuente requerida Los siguientes paquetes se instalarán en el sistema.

$ sudo apt-get instalar construcción de construcción zlib1g-dev libpcre3 libpcre3-dev unzip 
Instale las herramientas esenciales de compilación en Ubuntu

2. A continuación, descargue los archivos de origen de la última versión de Nginx (1.13.2 En el momento de la escritura) utilizando el comando wget y extrae los archivos como se muestra a continuación.

$ mkdir -p ~/make_nginx $ cd ~/make_nginx $ wget -c https: // nginx.org/descargar/nginx-1.13.2.alquitrán.GZ $ TAR -XZVF NGINX -1.13.2.alquitrán.GZ 
Descargar el paquete de origen Nginx

3. A continuación, consigue el ngx_pagespeed Archivos de origen y descomprimir el archivo comprimido como este.

$ wget -c https: // github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-estable.zip $ unzip v1.12.34.2-estable.cremallera 
Descargar archivos de origen ngx_pagespeed

4. Luego muévete a la desabrochado ngx_pagespeed Directorio 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.alquitrán.gz $ tar -xvzf 1.12.34.2-x64.alquitrán.GZ 
Descargar bibliotecas de la vida

Paso 2: Configurar y compilar NGINX con NGX_PageSpeed

5. A continuación, mude al nginx-1.13.2 directorio, y configure la fuente nginx utilizando los siguientes comandos.

$ cd ~/make_nginx/nginx-1.13.2 $ ./configurar --add-module = $ home/make_nginx/ngx_pagespeed-1.12.34.2-estable/ $ ps_ngx_extra_flags 
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

7. Una vez que se completa el proceso de instalación, ejecute los comandos a continuación 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 del archivo de la unidad Nginx para Systemd

8. Aquí, tendrá que crear manualmente el archivo de la unidad NGINX ya que Systemd es el sistema init en versiones más nuevas del sistema Debian y Ubuntu

Fisrt, crea el archivo /lib/systemd/system/nginx.servicio.

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

Luego descargue el archivo de servicio Nginx Systemd Pegue la configuración del archivo de la unidad en el archivo.

[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 

Guarde el archivo y cierre.

9. Ahora empezar nginx Servicio por el momento y permitirle comenzar en el arranque del sistema utilizando los comandos a continuación.

$ sudo systemctl inicio nginx $ sudo systemctl habilita nginx 

Importante: Después de iniciar el servicio NGINX, puede ver un error como se muestra en la captura de pantalla a continuación.

Systemd [1]: Nginx.Servicio: archivo pid /run /nginx.PID no es legible (todavía?) Después del inicio: no hay dicho archivo o directorio 
Nginx no pudo iniciar el error

Para resolverlo, abra la configuración de Nginx /etc/nginx/nginx.confusión archivo y agregar la siguiente línea.

#pid logs/nginx.pid; a pid /run /nginx.pid; 

Finalmente reinicie el servicio Nginx nuevamente.

$ sudo SystemCTL Daemon-Reload $ sudo SystemCtl Inicio Nginx $ sudo SystemCtl Status Nginx 

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

10. Ahora que NGINX está instalado y ejecutado 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 establecerá 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.confusión 

Agregue las siguientes líneas de configuración NGX_PageSpeed ​​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 " 

Nota: Si ha implementado algún host virtual NGINX en el servidor, agregue las directivas de PageSpeed ​​de arriba 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 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 /run /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; # # 

Guarde y cierre el archivo.

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

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

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

$ sudo systemctl reiniciar nginx 

Paso 5: Prueba de Nginx con NGX_PageSpeed

14. Ahora pruebe si NGX-PageSpeed ​​ahora funciona junto con Nginx usando el comando CURL a continuación.

$ curl -i -p http: // localhost 
Verifique NGINX con NGX_PageSpeed

Si no ha podido ver el encabezado anterior, regrese al paso 10 y atente atentamente las instrucciones para habilitar NGX-PageSpeed ​​con los pasos sucesivos.

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

Si desea asegurar el servidor web NGINX, entonces sugerimos leer este útil tutorial: la guía final para asegurar, endurecer y mejorar el rendimiento de NGINX.

Eso es! En este tutorial, explicamos cómo instalar Nginx con NGX_PagesPeed en Debian y Ubuntu. Si tiene alguna consulta, envíennos usando nuestro formulario de comentarios a continuación.