天力胶体李金国 發表於 2023-7-3 00:00:00

Linux Apache设置压缩及缓存

<p>
        压缩文件:</p>
<p>
        编辑apache模块</p>
<blockquote>
        <p>
                vim /etc/httpd/conf.modules.d/00-base.conf</p>
</blockquote>
<p>
         </p>
<p>
        确保以下三个模块没有被注释</p>
<blockquote>
        <p>
                LoadModule headers_module modules/mod_headers.so<br>
                LoadModule deflate_module modules/mod_deflate.so<br>
                LoadModule filter_module modules/mod_filter.so</p>
</blockquote>
<p>
         </p>
<p>
        注意:也可以把三个模块放到/etc/httpd/conf/httpd.conf文件里,模块只能在一个文件中加载</p>
<p>
        设置压缩规则</p>
<blockquote>
        <p>
                vim /etc/httpd/conf/httpd.conf</p>
</blockquote>
<p>
         </p>
<p>
        末尾添加</p>
<blockquote>
        <p>
                &lt;IfModule mod_deflate.c&gt;<br>
                AddOutputFilterByType DEFLATE application/javascript<br>
                AddOutputFilterByType DEFLATE application/rss+xml<br>
                AddOutputFilterByType DEFLATE application/vnd.ms-fontobject<br>
                AddOutputFilterByType DEFLATE application/x-font<br>
                AddOutputFilterByType DEFLATE application/x-font-opentype<br>
                AddOutputFilterByType DEFLATE application/x-font-otf<br>
                AddOutputFilterByType DEFLATE application/x-font-truetype<br>
                AddOutputFilterByType DEFLATE application/x-font-ttf<br>
                AddOutputFilterByType DEFLATE application/x-javascript<br>
                AddOutputFilterByType DEFLATE application/xhtml+xml<br>
                AddOutputFilterByType DEFLATE application/xml<br>
                AddOutputFilterByType DEFLATE application/x-httpd-php<br>
                AddOutputFilterByType DEFLATE application/x-httpd-fastphp<br>
                AddOutputFilterByType DEFLATE font/opentype<br>
                AddOutputFilterByType DEFLATE font/otf<br>
                AddOutputFilterByType DEFLATE font/ttf<br>
                AddOutputFilterByType DEFLATE image/svg+xml<br>
                AddOutputFilterByType DEFLATE image/x-icon<br>
                AddOutputFilterByType DEFLATE text/css<br>
                AddOutputFilterByType DEFLATE text/html<br>
                AddOutputFilterByType DEFLATE text/javascript<br>
                AddOutputFilterByType DEFLATE text/plain<br>
                AddOutputFilterByType DEFLATE text/xml<br>
                # Remove browser bugs (only needed for really old browsers)<br>
                BrowserMatch ^Mozilla/4 gzip-only-text/html<br>
                BrowserMatch ^Mozilla/4\.0 no-gzip<br>
                BrowserMatch \bMSIE !no-gzip !gzip-only-text/html<br>
                #SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩<br>
                Header append Vary User-Agent<br>
                &lt;/IfModule&gt;</p>
</blockquote>
<p>
         </p>
<p>
        压缩率一般都大于70%</p>
<p>
        压缩率检测(http://tool.chinaz.com/Gzips/)只能在pc端检测</p>
<p>
        设置缓存:</p>
<blockquote>
        <p>
                vim /etc/httpd/conf.modules.d/00-base.conf</p>
</blockquote>
<p>
         </p>
<p>
        确保以下模块没有被注释</p>
<blockquote>
        <p>
                LoadModule headers_module modules/mod_headers.so #第一种缓存方式<br>
                LoadModule expires_module modules/mod_expires.so #第二种缓存方式</p>
</blockquote>
<p>
         </p>
<p>
        注意:也可以把这个模块放到/etc/httpd/conf/httpd.conf文件里,模块只能在一个文件中加载</p>
<p>
        设置缓存规则</p>
<blockquote>
        <p>
                vim /var/www/html/.htaccess</p>
</blockquote>
<p>
         </p>
<p>
        末尾添加</p>
<p>
        第一种缓存方式</p>
<blockquote>
        <p>
                FileEtag INode Mtime Size</p>
</blockquote>
<p>
         </p>
<p>
        第二种缓存方式</p>
<blockquote>
        <p>
                # 缓存有效时间 1 月<br>
                &lt;FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css)$"&gt;<br>
                Header set Cache-Control "max-age=2592000, public"<br>
                &lt;/FilesMatch&gt;<br>
                &lt;FilesMatch "\.(html|txt|htm|php)$"&gt;<br>
                Header set Cache-Control "max-age=2592000, public, must-revalidate"<br>
                &lt;/FilesMatch&gt;</p>
</blockquote>
<p>
         </p>
<p>
        注意:max-age为缓存时间,单位秒,按需修改</p>
<p>
        第三种缓存方式</p>
<blockquote>
        <p>
                vim /etc/httpd/conf/httpd.conf</p>
</blockquote>
<p>
         </p>
<p>
        添加以下内容</p>
<blockquote>
        <p>
                &lt;IfModule expires_module&gt;<br>
                ExpiresActive On<br>
                #css文件缓存2592000/3600/24=1月<br>
                ExpiresByType text/css A2592000<br>
                #js文件缓存2592000/3600/24=1月<br>
                ExpiresByType application/x-javascript A2592000<br>
                ExpiresByType application/javascript A2592000<br>
                #html文件缓存2592000/3600/24=1月<br>
                ExpiresByType text/html A2592000<br>
                #图片文件缓存2592000/3600/24=1月<br>
                ExpiresByType image/jpg A2592000<br>
                ExpiresByType image/jpeg A2592000<br>
                ExpiresByType image/gif A2592000<br>
                ExpiresByType image/png A2592000<br>
                ExpiresByType image/ico A2592000<br>
                ExpiresByType image/x-icon A2592000<br>
                #文件默认缓存1月<br>
                ExpiresDefault "access plus 30 days"<br>
                &lt;/IfModule&gt;</p>
</blockquote>
<p>
         </p>
<p>
        注意:以上方式,三选一</p>
<p>
        重启apache服务</p>
<blockquote>
        <p>
                service httpd restart</p>
</blockquote>
<p>
        注意:apache设置压缩和缓存都会增加服务器的内存压力,但设置压缩和缓存之后,网站的访问速度会有所提高</p>
<p>
        原文链接:https://www.idaobin.com/archives/625.html</p>
頁: [1]
查看完整版本: Linux Apache设置压缩及缓存