当前位置: 首页 > 编程笔记 >

Linux Apache设置压缩及缓存

曾新立
2023-03-14
本文向大家介绍Linux Apache设置压缩及缓存,包括了Linux Apache设置压缩及缓存的使用技巧和注意事项,需要的朋友参考一下

压缩文件:

编辑apache模块

vim /etc/httpd/conf.modules.d/00-base.conf

确保以下三个模块没有被注释

LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so

注意:也可以把三个模块放到/etc/httpd/conf/httpd.conf文件里,模块只能在一个文件中加载

设置压缩规则

vim /etc/httpd/conf/httpd.conf

末尾添加

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
Header append Vary User-Agent
</IfModule>

压缩率一般都大于70%

压缩率检测(http://tool.chinaz.com/Gzips/)只能在pc端检测

设置缓存:

vim /etc/httpd/conf.modules.d/00-base.conf

确保以下模块没有被注释

LoadModule headers_module modules/mod_headers.so #第一种缓存方式
LoadModule expires_module modules/mod_expires.so #第二种缓存方式

注意:也可以把这个模块放到/etc/httpd/conf/httpd.conf文件里,模块只能在一个文件中加载

设置缓存规则

vim /var/www/html/.htaccess

末尾添加

第一种缓存方式

FileEtag INode Mtime Size

第二种缓存方式

# 缓存有效时间 1 月
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\.(html|txt|htm|php)$">
Header set Cache-Control "max-age=2592000, public, must-revalidate"
</FilesMatch>

注意:max-age为缓存时间,单位秒,按需修改

第三种缓存方式

vim /etc/httpd/conf/httpd.conf

添加以下内容

<IfModule expires_module>
ExpiresActive On
#css文件缓存2592000/3600/24=1月
ExpiresByType text/css A2592000
#js文件缓存2592000/3600/24=1月
ExpiresByType application/x-javascript A2592000
ExpiresByType application/javascript A2592000
#html文件缓存2592000/3600/24=1月
ExpiresByType text/html A2592000
#图片文件缓存2592000/3600/24=1月
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/ico A2592000
ExpiresByType image/x-icon A2592000
#文件默认缓存1月
ExpiresDefault "access plus 30 days"
</IfModule>

注意:以上方式,三选一

重启apache服务

service httpd restart

注意:apache设置压缩和缓存都会增加服务器的内存压力,但设置压缩和缓存之后,网站的访问速度会有所提高

 类似资料:
  • 本文向大家介绍tomcat设置gzip压缩的原理及配置方法,包括了tomcat设置gzip压缩的原理及配置方法的使用技巧和注意事项,需要的朋友参考一下 原理简介         HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求服务器对应资源后,从服务器端将资源文件压缩,再输出到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript

  • 1. Nginx中的缓存介绍 由于 Nginx 是在网站的所有其他后台服务的最前线,它接收的请求和流量是后台服务的数倍甚至数十倍之多。因此,用好 Nginx 的缓存功能对于大型网站而言至关重要。Nginx 中的缓存功能优势如下: 提升所有客户端体验 有效降低上游服务器的负载 减少上游服务器之间的流量消耗 Nginx 的 Web 缓存服务主要由 proxy_cache 相关指令集和 fastcgi_

  • 使用Kafka Streams,我们无法确定在处理写入接收器主题的消息后压缩这些消息所需的配置。 另一方面,使用经典的Kafka Producer,可以通过在KafkaProducer属性上设置配置“compression.type”轻松实现压缩 然而,似乎没有任何记录在案的Kafka Streams压缩处理过的消息的例子。 至于这次(2019年初),有没有一种方法可以使用Kafka流进行压缩?

  • 本文向大家介绍Nginx设置静态页面压缩和缓存过期时间的方法,包括了Nginx设置静态页面压缩和缓存过期时间的方法的使用技巧和注意事项,需要的朋友参考一下 使用nginx服务器的朋友可能都知道需要设置html静态页面缓存与页面压缩与过期时间的设置了,下面我来给各位同学介绍一下配置方法,包括对ico,gif,bmp,jpg,jpeg,swf,js,css,mp3文件进行本地缓存. 可以通过nginx

  • 方法1:使用以下命令创建主题: 方法2:在Kafka Producer客户端API中设置属性compresson.type=gzip。 当使用方法1时,我得到了更好的压缩和更高的吞吐量。 如果我使用方法1,这是否意味着压缩发生在broker端,而在方法2中,消息在Producer端压缩,然后发送给broker?

  • 本文向大家介绍Java实现的zip压缩及解压缩工具类示例,包括了Java实现的zip压缩及解压缩工具类示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java实现的zip压缩及解压缩工具类。分享给大家供大家参考,具体如下: 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《J