溫馨提示×

Ubuntu Apache2緩存設置技巧

小樊
35
2025-06-28 01:10:39
欄目: 智能運維

在Ubuntu上配置Apache2緩存可以顯著提高網站性能。以下是一些關鍵步驟和技巧,幫助你有效配置Apache緩存:

1. 安裝必要的模塊

首先,確保你已經安裝了 mod_cachemod_cache_disk 模塊。這些模塊通常默認安裝在Apache2中,但如果沒有,可以使用以下命令安裝:

sudo apt update
sudo apt install apache2-mod-cache apache2-mod-cache-disk

2. 啟用模塊

啟用這些模塊:

sudo a2enmod cache
sudo a2enmod cache_disk

然后重啟Apache服務:

sudo systemctl restart apache2

3. 配置緩存

編輯Apache的配置文件或創建一個新的配置文件來設置緩存。通常,你可以在 /etc/apache2/conf-available/ 目錄下創建一個新的配置文件,例如 cache.conf。

sudo nano /etc/apache2/conf-available/cache.conf

在文件中添加以下內容:

<IfModule mod_cache.c>
    <IfModule mod_cache_disk.c>
        CacheEnable disk /my-cache
        CacheRoot /var/cache/apache2/mod_cache_disk
        CacheDirLevels 2
        CacheDirLength 1
        CacheIgnoreHeaders Set-Cookie
        CacheIgnoreNoLastMod On
        CacheDefaultExpire 3600
        CacheMaxExpire 86400
        CacheLastModifiedFactor 0.5
        CacheMinExpire 60
        CacheStoreNoCache On
        CacheStorePrivate On
        CacheStoreRevalidate On
        CacheTTL 3600
    </IfModule>
</IfModule>

解釋一下這些參數:

  • CacheEnable disk /my-cache: 啟用磁盤緩存,并指定緩存名稱為 /my-cache。
  • CacheRoot /var/cache/apache2/mod_cache_disk: 指定緩存文件的存儲目錄。
  • CacheDirLevels 2: 設置緩存目錄的層級數。
  • CacheDirLength 1: 設置每個目錄中的最大子目錄數。
  • CacheIgnoreHeaders Set-Cookie: 忽略 Set-Cookie 頭,以便緩存靜態內容。
  • CacheIgnoreNoLastMod On: 忽略 Last-Modified 頭。
  • CacheDefaultExpire 3600: 默認緩存過期時間為1小時。
  • CacheMaxExpire 86400: 最大緩存過期時間為1天。
  • CacheLastModifiedFactor 0.5: 最后修改時間的權重因子。
  • CacheMinExpire 60: 最小緩存過期時間為1分鐘。
  • CacheStoreNoCache On: 如果內容沒有緩存頭,則不存儲。
  • CacheStorePrivate On: 不緩存私有內容。
  • CacheStoreRevalidate On: 啟用重新驗證。
  • CacheTTL 3600: 緩存條目的生存時間。

4. 啟用配置

保存并關閉文件后,啟用新的配置:

sudo a2enconf cache
sudo systemctl restart apache2

5. 驗證緩存配置

你可以通過訪問你的網站并檢查響應頭來驗證緩存是否生效。例如,使用 curl 命令:

curl -I http://your-website.com

你應該能看到類似以下的響應頭:

HTTP/1.1 200 OK
Date: Wed, 21 Oct 2020 07:28:00 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Wed, 21 Oct 2020 06:28:00 GMT
ETag: "34aa387-d-1565eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Cache-Control: max-age=3600, public
Expires: Wed, 21 Oct 2020 08:28:00 GMT

表示內容被緩存了1小時。

6. 配置特定目錄或文件類型的緩存

如果你只想對特定目錄或文件類型啟用緩存,可以在配置文件中添加相應的 <Location><Files> 指令:

<IfModule mod_cache.c>
    <IfModule mod_cache_disk.c>
        <Location "/static">
            CacheEnable disk /my-cache/static
            CacheIgnoreHeaders Set-Cookie
            CacheDefaultExpire 86400
        </Location>
        <FilesMatch "\.(jpg|jpeg|png|gif)$">
            CacheEnable disk /my-cache/images
            CacheDefaultExpire 86400
        </FilesMatch>
    </IfModule>
</IfModule>

7. 使用 .htaccess 文件

在你的網站根目錄下創建或編輯 .htaccess 文件,添加以下內容以啟用緩存:

<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>

<IfModule mod_headers.c>
    Header set Cache-Control "public, max-age=86400"
</IfModule>

<IfModule mod_cache.c>
    CacheEnable disk /my-cache
    CacheRoot /var/cache/apache2/mod_cache_disk
    CacheDirLevels 2
    CacheDirLength 1
    CacheDefaultExpire 3600
</IfModule>

8. 監控緩存

你可以使用Apache的日志文件來監控緩存的使用情況。查看 /var/log/apache2/access.log/var/log/apache2/error.log 文件,以了解緩存的命中率和性能提升。

通過以上步驟,你就可以在Ubuntu上成功配置Apache2緩存,從而提高網站性能和用戶體驗。根據你的需求,你可以進一步調整緩存設置,例如更改緩存目錄、緩存時間等。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女