centos

Apache在CentOS上的缓存配置技巧

小樊
43
2025-07-20 19:07:44
栏目: 智能运维

在CentOS上配置Apache缓存可以通过启用和配置mod_cachemod_cache_disk模块来实现,这可以显著提高网站性能。以下是详细的配置步骤和一些有用的技巧:

安装必要的软件包

首先,确保你已经安装了Apache和相关的缓存模块。可以使用以下命令来安装:

sudo yum install httpd mod_cache mod_cache_disk mod_expires mod_deflate

启用必要的模块

使用以下命令启用这些模块:

sudo systemctl enable httpd
sudo systemctl start httpd
sudo systemctl status httpd
sudo a2enmod cache
sudo a2enmod cache_disk
sudo a2enmod cache_socache_shmcb

配置缓存

编辑Apache的配置文件(通常是 /etc/httpd/conf/httpd.conf/etc/apache2/apache2.conf),添加或修改以下内容:

<IfModule mod_cache.c>
    <IfModule mod_cache_disk.c>
        CacheRoot "/var/cache/httpd"
        CacheEnable disk /
        CacheDirLevels 2
        CacheDirLength 1
        CacheDefaultExpire 3600
    </IfModule>
    <IfModule mod_cache_socache_shmcb.c>
        CacheEnable socache_shmcb /
        CacheDefaultExpire 300
        CacheMaxExpire 86400
        CacheMinExpire 60
        CacheIgnoreHeaders Set-Cookie
        CacheIgnoreNoLastMod On
        CacheStorePrivate On
        CacheStoreNoStore On
    </IfModule>
</IfModule>

配置缓存规则

你可以根据需要进一步配置缓存规则。例如,只缓存特定的文件类型或路径:

<IfModule mod_cache.c>
    <IfModule mod_cache_disk.c>
        <FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
            CacheEnable disk /
            CacheIgnoreHeaders Set-Cookie
        </FilesMatch>
    </IfModule>
</IfModule>

使用mod_expires模块设置内容过期时间

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/html "access plus 1 hour"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
</IfModule>

使用mod_deflate压缩内容

启用mod_deflate模块可以压缩传输到客户端的内容,从而减少加载时间。在Apache配置文件中取消以下行的注释以启用mod_deflate

LoadModule deflate_module modules/mod_deflate.so

然后,添加以下配置以压缩特定内容类型:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/x-javascript
</IfModule>

重启Apache

保存配置文件后,重启Apache以应用更改:

sudo systemctl restart httpd

验证缓存配置

你可以通过访问你的网站并检查响应头中的X-Cache头来验证缓存是否生效。例如,使用curl命令:

curl -I http://yourdomain.com

如果缓存生效,你应该会看到类似以下的响应头:

HTTP/1.1 200 OK
...
X-Cache: HIT
...

如果缓存未命中,你会看到:

HTTP/1.1 200 OK
...
X-Cache: MISS
...

以上就是在CentOS上配置Apache缓存的步骤和一些有用的技巧,希望对你有所帮助。

0
看了该问题的人还看了