专栏首页恩蓝脚本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设置压缩和缓存都会增加服务器的内存压力,但设置压缩和缓存之后,网站的访问速度会有所提高

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 详解Android Studio3.5及使用AndroidX的一些坑

    google的更新优化往往会牵动一大批开发者的心。去年的androidx,到今年studio3.5后都默认使用androidx了。其实对于我们开发者而言,我们都...

    砸漏
  • Android自定义View实现投票进度条

    砸漏
  • Python tkinter布局与按钮间距设置方式

    以上这篇Python tkinter布局与按钮间距设置方式就是小编分享给大家的全部内容了,希望能给大家一个参考。

    砸漏
  • 虹膜识别技术的相关介绍

    虹膜识别技术是基于眼睛中的虹膜进行身份识别,应用于安防设备(如门禁等),以及有高度保密需求的场所。虹膜识别技术是人体生物识别技术的一种。

    用户5777378
  • 3D图形学线代基础

    如标题所言都是些很基础但是异常重要的数学知识,如果不能彻底掌握它们,在 3D 的世界中你将寸步难行。

    NewbieYoung
  • 高性能网络编程7--tcp连接的内存使用

    当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣。socket编程方法提供了SO_SNDBUF、SO_RCVB...

    李海彬
  • 高性能网络编程7--tcp连接的内存使用

    当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣。socket编程方法提供了SO_SNDBUF、SO_RCVB...

    李海彬
  • 教你设计一个超牛逼的本地缓存!

    最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存;一级缓存相对来说比较简单,功能比较齐全的是二级缓存,基本上满足了一个缓...

    xcbeyond
  • 高性能网络编程7–tcp连接的内存使用

    当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣。socket编程方法提供了SO_SNDBUF、SO_RCVB...

    陶辉
  • 高性能网络编程7--tcp连接的内存使用

    当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣。socket编程方法提供了SO_SNDBUF、SO_RCVB...

    bear_fish

扫码关注云+社区

领取腾讯云代金券