Apache comprime las páginas web para optimizar las páginas (almacenamiento en caché, compresión) para habilitar el modo de aceleración

Introducción:

La compresión de la página web para mejorar aún más la velocidad de navegación de las páginas web, no requiere ningún costo en absoluto, pero aumentará ligeramente el uso de la CPU del servidor en uno o dos puntos porcentuales o menos.

Inserte la descripción de la imagen aquí

principio:

La compresión de páginas web es un protocolo que cumple el servidor WEB y el navegador, lo que significa que tanto el servidor WEB como el navegador deben admitir esta tecnología. Los navegadores más populares son compatibles, incluidos IE, FireFox, Opera, etc .; servidor Hay Apache e IIS. El proceso de negociación entre las dos partes es el siguiente:

1. Primero, el navegador solicita una dirección URL y establece el atributo accept-encoding value en el encabezado de la solicitud en gzip, deflate, lo que indica que el navegador admite los métodos de compresión gzip y deflate (de hecho, deflate también usa gzip Protocolo de compresión);

2. Después de recibir la solicitud, el servidor WEB juzga si el navegador admite la compresión y, si lo hace, transmite el contenido de respuesta comprimido; de lo contrario, transmite el contenido sin comprimir;

3. Una vez que el navegador obtiene el contenido de la respuesta, juzga si el contenido está comprimido, si es así, lo descomprime y luego muestra el contenido de la página de respuesta.

En aplicaciones reales, encontramos que la relación de compresión es a menudo de 3 a 10 veces, que es la página de tamaño original de 50 K. Después de la compresión, el tamaño real del contenido transmitido es solo de 5 a 15 KB, lo que puede ahorrar mucho ancho de banda de red del servidor.

Descripción general del zip de compresión de páginas web

  • Configure la función de compresión de páginas web de Apache, que utiliza un algoritmo de compresión gzip para comprimir el contenido de la página web y luego transferirlo al navegador del cliente.
  • efecto
    • Reduzca la cantidad de bytes transmitidos a través de la red y acelere la carga de la página web
    • Ahorre tráfico y mejore la experiencia de navegación de los usuarios
    • gzip tiene una mejor relación con el trabajo de rastreo de los motores de búsqueda

Módulo de compresión Apache

  • Los módulos funcionales de Apache para la compresión de páginas web incluyen
    • módulo mod_gzip
    • módulo mod_deflate
  • Apache 1.x
    • No hay tecnología de compresión de páginas web incorporada, pero el módulo mod_gzip de terceros se puede utilizar para realizar la compresión
  • Apache 2.x
    • Durante el desarrollo, el módulo mod_deflate está integrado en lugar de mod_gzip
  • módulo mod_gzip y módulo mod_deflate
    • Ambos usan el algoritmo de compresión gzip, el principio de funcionamiento es similar
    • La velocidad de compresión mod_deflate es ligeramente más rápida, mientras que la relación de compresión mod_gzip es ligeramente superior.
    • mod_gzip tiene un mayor uso de CPU en el servidor
    • Para servidores de alto tráfico, el uso de mod_deflate puede cargar más rápido que mod_gzip

Uno: experimento de compresión de páginas web

  • Instale apache primero
[root@localhost ~]# cd /opt
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  rh
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost opt]# ls
apr-1.6.2         apr-util-1.6.0         httpd-2.4.29          rh
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost opt]# ls
apr-1.6.2.tar.gz       httpd-2.4.29          rh
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2
  • Instale el compilador y otras herramientas
[root@localhost opt]# yum -y install \
> gcc \
> gcc-c++ \
> make \
> pcre-devel \
> expat-devel \
> perl
> zlib-devel \
  • configurar
[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ls
ABOUT_APACHE     docs            Makefile.win
acinclude.m4     emacs-style     modules
Apache-apr2.dsw  httpd.dep       NOTICE
Apache.dsw       httpd.dsp       NWGNUmakefile
apache_probes.d  httpd.mak       os
ap.d             httpd.spec      README
build            include         README.cmake
BuildAll.dsp     INSTALL         README.platforms
BuildBin.dsp     InstallBin.dsp  ROADMAP
buildconf        LAYOUT          server
CHANGES          libhttpd.dep    srclib
CMakeLists.txt   libhttpd.dsp    support
config.layout    libhttpd.mak    test
configure        LICENSE         VERSIONING
configure.in     Makefile.in

[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \
> --enable-so \
> --enable-rewrite \
> --enable-charset-lite \
> --enable-cgi \
> --enable-deflate
  • hacer compilar hacer instalar
[root@localhost httpd-2.4.29]# make		'//编译'
...省略内容
[root@localhost httpd-2.4.29]# make install  '//安装'
...省略内容
  • Editar archivo de configuración
#将主配置文件通过软链接,连接到/etc/httpd.conf下 方便管理
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf  /etc/httpd.coonf
[root@localhost httpd-2.4.29]# vim httpd.conf
[root@localhost httpd-2.4.29]# cd /etc
[root@localhost etc]# vim httpd.conf 

#搜索/headres 头部信息
LoadModule headers_module modules/mod_headers.so
#/搜索/deflate,若没有,需要检查之前配置重新编译   搜索就取消注释
LoadModule deflate_module modules/mod_deflate.so
#搜索filter(过滤器)  要是在就在末行添加以下信息
LoadModule filter_module modules/mod_filter.so
#添加以下内容

<IfModule>
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
  DeflateCompressionLevel 9
  SetOutputFilter DEFLATE
</IfModule>

#修改一下监听地址
Listen 20.0.0.41:80
#Listen 80   #注释ipv6
#修改域名  开启功能
ServerName www.niu.com:80
  • Verificar el servicio de reinicio de sintaxis
[root@localhost etc]# /usr/local/httpd/bin/httpd  -t
Syntax OK
#开启服务
[root@localhost etc]# /usr/local/httpd/bin/httpd
#关闭安全防护
[root@localhost etc]# sentenforce 0
[root@localhost etc]# systemctl stop firewalld.service
#查看端口
[root@localhost etc]# netstat -ntap | grep httpd
tcp        0      0 20.0.0.41:80            0.0.0.0:*               LISTEN      121125/httpd    
[root@localhost etc]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@localhost httpd]# cd htdocs/
[root@localhost htdocs]# ls
index.htm
#复制一张图片进来
[root@localhost htdocs]# rz -E
rz waiting to receive.
[root@localhost htdocs]# ls
1389753641370.jpg  index.html
[root@localhost htdocs]# vim index.html
3编辑主页信息
<html><body><h1>It works!</h1></body></html>
<img src="1389753641370.jpg"/>                            
  • Verificar configuración

  • Abrir un host

  • Herramienta de verificación de instalación de host filddler

marca

marca

Dos: almacenamiento en caché de páginas web

Descripción general de la configuración del tiempo de caché de la página
  • Configure Apache a través del módulo mod_expire, de modo que las páginas web se puedan almacenar en caché en el navegador del cliente durante un período de tiempo para evitar solicitudes repetidas.
  • Una vez que se habilita el módulo mod_expire, la etiqueta Expires y la etiqueta Cache-Control en la información del encabezado de la página se generarán automáticamente, lo que reducirá la frecuencia y la frecuencia del acceso del cliente, logrando el propósito de reducir el tráfico innecesario y aumentar la velocidad de acceso.

2.1: experimento de caché web de Apache

  • Igual que el entorno de compresión web
[root@localhost opt]# cd /opt
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  rh
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
  • Instalar herramientas de compilación
[root@localhost opt]# yum -y install \
> gcc \
> gcc-c++ \
> make \
> pcre-devel \
> expat-devel \
> perl
> zlib-devel \
  • configurar
[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \
> --enable-deflate \
> --enable-expires \
> --enable-so \
> --enable-rewrite \
> --enable-charset-lite \
> --enable-cgi
  • hacer compilar hacer instalar
[root@localhost httpd-2.4.29]# make		'//编译'
...省略内容
[root@localhost httpd-2.4.29]# make install  '//安装'
...省略内容
  • Editar archivo de configuración
[root@localhost httpd-2.4.29]# vim httpd.conf
#进来/搜索expires   开启模块 去掉注释
LoadModule expires_module modules/mod_expires.so
#末行添加
<IfModule mod_expires.c>
    ExpiresActive On          #开启缓存功能
    ExpiresDefault "access plus 50 seconds"    #保持50s
  </IfModule>
#开启监听地址
Listen 20.0.0.41:80
#Listen 80
#开启域名
ServerName www.xx.com:80

[root@localhost bin]# pwd
/usr/local/httpd/bin
[root@localhost bin]# ./apachectl -t
Syntax OK
#执行脚本
[root@localhost bin]# ./apachectl
[root@localhost bin]# netstat -ntap | grep httpd
tcp        0      0 20.0.0.41:80            0.0.0.0:*               LISTEN      52612/httpd         

#查看是否安装mod——deflate模块
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "expires"
 expires_module (shared)
[root@localhost bin]# systemctl stop firewalld.service 
[root@localhost bin]# setenforce 

marca

  • Modificar la configuración del tiempo de caché
[root@localhost bin]# vim /usr/local/httpd/conf/httpd.conf
<IfModule mod_expires.c>
   ExpiresActive On
   ExpiresDefault "access plus 70 seconds"
 </IfModule>
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start

marca

para resumir:

La compresión de página mediante apache solo se realiza cuando la velocidad de respuesta del propio servidor está suficientemente optimizada (rápida), es decir, se considera esta solución cuando el ancho de banda se convierte en un cuello de botella del sistema.

Supongo que te gusta

Origin blog.csdn.net/weixin_47151643/article/details/107974910
Recomendado
Clasificación