首頁 > 運維 > linux運維 > 主體

CentOS搭建web伺服器的動態快取與靜態資源優化

王林
發布: 2023-08-06 09:16:45
原創
1486 人瀏覽過

CentOS搭建web伺服器的動態快取與靜態資源最佳化

隨著網路的發展,網站的存取量越來越大,web伺服器的效能最佳化變得越來越重要。本文將介紹如何在CentOS伺服器上建置web伺服器,並對動態快取和靜態資源進行最佳化。

一、安裝Apache伺服器

首先,我們要安裝Apache伺服器。在CentOS上,可以透過以下指令進行安裝:

sudo yum install httpd
登入後複製

安裝完成後,啟動Apache伺服器:

sudo systemctl start httpd
登入後複製

二、動態快取最佳化

動態快取是一種將經常變化的網頁內容緩存在伺服器上的技術。透過快取動態頁面,可以減輕伺服器的負載,提高頁面的載入速度。

  1. 安裝memcached

在CentOS上,可以透過以下指令安裝memcached:

sudo yum install memcached
登入後複製

安裝完成後,啟動memcached:

sudo systemctl start memcached
登入後複製
  1. 設定Apache和PHP

開啟Apache的設定檔:

sudo vi /etc/httpd/conf/httpd.conf
登入後複製
登入後複製

找到以下行:

LoadModule expires_module modules/mod_expires.so
登入後複製

將其前面的註解符號「# ”去掉,表示啟用該模組。

然後找到以下行:

LoadModule headers_module modules/mod_headers.so
登入後複製

同樣,將其前面的註解符號「#」去掉。

儲存並退出設定檔。

  1. 設定memcached

開啟memcached的設定檔:

sudo vi /etc/sysconfig/memcached
登入後複製

找到以下行:

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
登入後複製

可以根據實際需求修改其中的參數,然後儲存並退出設定檔。

  1. 設定PHP擴充

安裝memcached的PHP擴充:

sudo yum install php-pecl-memcached
登入後複製

安裝完成後,重新啟動Apache伺服器:

sudo systemctl restart httpd
登入後複製
登入後複製
  1. 在PHP程式碼中使用動態快取

在PHP程式碼中使用動態緩存,可以透過以下程式碼實現:

$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
$data = $memcached->get('cached_data');

if (!$data) {
    // 从数据库或其他途径获取数据
    $data = getDataFromDatabase();

    // 将数据存入缓存
    $memcached->set('cached_data', $data, 3600);
}

// 使用数据进行页面渲染
renderPage($data);
登入後複製
  1. 監控動態快取的使用情況

安裝memcached的監控工具:

sudo yum install php-pecl-memcache
登入後複製

安裝完成後,在瀏覽器中存取以下位址,可以查看動態快取的使用情況:

http://your_server_ip/memcache.php
登入後複製

三、靜態資源最佳化

對於靜態資源(如圖片、CSS和JavaScript檔案)的最佳化,有以下幾種常用的方法。

  1. 啟用Gzip壓縮

開啟Apache的設定檔:

sudo vi /etc/httpd/conf/httpd.conf
登入後複製
登入後複製

找到以下行:

LoadModule deflate_module modules/mod_deflate.so
登入後複製

將其前面的註釋符號「#」去掉,表示啟用該模組。

然後找到以下行:

#Insert filter
SetOutputFilter DEFLATE
登入後複製

同樣,將其前面的註解符號「#」去掉。儲存並退出設定檔。

重啟Apache伺服器:

sudo systemctl restart httpd
登入後複製
登入後複製
  1. 啟用瀏覽器快取

在Apache的設定檔中加入以下程式碼片段:

<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
</IfModule>
登入後複製

儲存並退出設定檔。

  1. 使用CDN加速

CDN(Content Delivery Network)是一種分散式伺服器系統,可以將靜態資源分發到離用戶最近的伺服器上,並提高資源的加載速度。可以使用以下程式碼段將網站的靜態資源引用轉為CDN的位址:

<link rel="stylesheet" href="http://cdn.example.com/style.css">
<script src="http://cdn.example.com/script.js"></script>
<img src="http://cdn.example.com/image.jpg">
登入後複製

四、總結

本文介紹了在CentOS伺服器上建置web伺服器,以及對動態快取和靜態資源進行最佳化的方法。透過合理地配置伺服器,並對動態頁面進行緩存,以及對靜態資源進行壓縮和緩存,可以提高網站的存取速度,提升使用者體驗。同時,使用CDN加速可以進一步提高資源的載入速度。希望本文對您有幫助。

以上是CentOS搭建web伺服器的動態快取與靜態資源優化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!