溫馨提示×

apache如何優化centos服務器響應

小樊
46
2025-10-17 14:09:36
欄目: 云計算

Apache優化CentOS服務器響應的關鍵策略

1. 基礎配置優化

  • 啟用KeepAlive:通過復用TCP連接減少建立/斷開開銷,在/etc/httpd/conf/httpd.conf中設置:
    KeepAlive On(啟用)、MaxKeepAliveRequests 100(單連接最大請求數)、KeepAliveTimeout 5(連接超時時間,避免長期占用資源)。
  • 調整MPM(多處理模塊):根據服務器負載選擇合適模式(CentOS 7默認prefork,高并發推薦event/worker)。
    • prefork(適合兼容性場景)
      <IfModule mpm_prefork_module>
          StartServers 5       # 啟動時的進程數
          MinSpareServers 5    # 最小空閑進程數
          MaxSpareServers 10   # 最大空閑進程數
          MaxRequestWorkers 150 # 最大并發請求數(根據內存調整,每進程約消耗10-20MB)
          MaxConnectionsPerChild 1000 # 每個進程處理請求上限(防止內存泄漏)
      </IfModule>
      
    • event/worker(適合高并發)
      <IfModule mpm_event_module>
          StartServers 2
          MinSpareThreads 25
          MaxSpareThreads 75
          ThreadLimit 64
          ThreadsPerChild 25
          MaxRequestWorkers 256
          MaxConnectionsPerChild 0
      </IfModule>
      
    修改后需重啟Apache生效。

2. 靜態資源緩存優化

  • 啟用mod_expires模塊:為靜態文件(CSS/JS/圖片)設置瀏覽器緩存,減少重復請求。在配置文件中添加:
    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresByType text/css "access plus 30 days"
        ExpiresByType image/jpeg "access plus 1 year"
        ExpiresByType image/png "access plus 1 year"
        ExpiresByType application/javascript "access plus 30 days"
    </IfModule>
    
    這會讓瀏覽器緩存這些資源,降低服務器負載。

3. 壓縮技術優化

  • 啟用mod_deflate模塊:壓縮文本類內容(HTML/CSS/JS),減少傳輸數據量。在配置文件中添加:
    <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
    </IfModule>
    
    支持gzip壓縮,提升頁面加載速度。

4. 內核參數調優

  • 調整TCP/IP參數:修改/etc/sysctl.conf優化網絡性能,關鍵參數如下:
    net.ipv4.tcp_fin_timeout = 30       # TIME_WAIT狀態超時時間(秒)
    net.ipv4.tcp_tw_reuse = 1           # 允許復用TIME_WAIT套接字
    net.ipv4.tcp_max_syn_backlog = 8192 # SYN隊列長度(應對高并發連接請求)
    net.ipv4.ip_local_port_range = 1024 65000 # 客戶端可用端口范圍
    net.core.somaxconn = 65535          # 監聽隊列最大長度
    
    執行sysctl -p使配置生效。

5. 緩存機制啟用

  • 頁面緩存(mod_cache+mod_cache_disk):緩存動態/靜態內容,減少后端處理次數。在配置文件中添加:
    LoadModule cache_module modules/mod_cache.so
    LoadModule cache_disk_module modules/mod_cache_disk.so
    <IfModule mod_cache.c>
        <IfModule mod_cache_disk.c>
            CacheRoot "/var/cache/apache2/mod_cache_disk" # 緩存目錄
            CacheEnable disk /                            # 對根路徑啟用磁盤緩存
            CacheDirLevels 2                              # 緩存目錄層級
            CacheDirLength 1                              # 目錄名長度
        </IfModule>
    </IfModule>
    
    創建緩存目錄并授權:mkdir -p /var/cache/apache2/mod_cache_disk && chown apache:apache /var/cache/apache2/mod_cache_disk。

6. 日志與模塊優化

  • 精簡訪問日志:降低日志對IO的占用,在VirtualHost或全局配置中設置:
    CustomLog logs/access_log common(使用簡潔格式)、LogLevel warn(僅記錄警告及以上級別日志)。
  • 禁用無用模塊:移除不需要的模塊(如mod_cgi、mod_status),減少內存消耗。編輯httpd.conf,注釋對應行:
    # LoadModule cgi_module modules/mod_cgi.so。

7. 硬件與系統優化

  • 升級硬件:使用SSD替代HDD(提升IO速度)、增加內存(減少交換分區使用)、選擇多核CPU(提升并發處理能力)。
  • 調整文件描述符限制:修改/etc/security/limits.conf,增加系統可打開文件數:
    * soft nofile 65535
    * hard nofile 65535
    
    臨時生效:ulimit -n 65535。

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