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

最佳實務:CentOS搭建web伺服器的效能調優指南

王林
發布: 2023-08-04 12:17:04
原創
1324 人瀏覽過

最佳實踐:CentOS搭建web伺服器的效能調優指南

摘要:本文旨在為CentOS搭建web伺服器的使用者提供一些效能調優的最佳實踐,旨在提升伺服器的效能和響應速度。將介紹一些關鍵的調優參數和常用的最佳化方法,並提供了一些範例程式碼幫助讀者更好地理解和應用這些方法。

一、關閉不必要的服務

在CentOS搭建web伺服器時,預設會啟動一些不必要的服務,這些服務會佔用系統資源而且對web伺服器的效能沒有明顯的提升。因此,我們應該關閉這些不必要的服務以釋放資源。

使用以下指令列出正在執行的服務:

systemctl list-units --type=service --state=running
登入後複製

根據實際情況選擇關閉不需要的服務,例如關閉郵件服務:

systemctl stop postfix
systemctl disable postfix
登入後複製

二、調整核心參數

優化核心參數是提升伺服器效能的重要一步。可以透過修改/etc/sysctl.conf檔案來調整核心參數。以下是一些常用的核心參數調優方案:

  1. 提高檔案句柄數限制
# 增加系统最大文件句柄数
fs.file-max = 65535

# 增加每个进程可以打开的文件句柄数限制
ulimit -n 65535
登入後複製
  1. 提高TCP連線數限制
  2. ##
    # 增加系统的最大并发TCP连接数
    net.ipv4.ip_local_port_range = 1024 65535
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_fin_timeout = 30
    net.ipv4.tcp_max_tw_buckets = 5000
    net.ipv4.tcp_max_syn_backlog = 1024
    net.core.somaxconn = 65535
    登入後複製
    消除群組聊天分片
  1. # 消除群聊分片
    net.ipv4.tcp_timestamps = 0
    net.ipv4.tcp_sack = 0
    net.ipv4.tcp_dsack = 0
    登入後複製
    提高系統TCP緩衝區大小
  1. # 提高TCP接收窗口缓冲区大小(单位:字节)
    net.ipv4.tcp_rmem = 4096 87380 4194304
    
    # 提高TCP发送窗口缓冲区大小(单位:字节)
    net.ipv4.tcp_wmem = 4096 16384 4194304
    
    # 提高系统的TCP连接跟踪表的大小
    net.netfilter.nf_conntrack_max = 65536
    登入後複製
修改完上述參數後,使用下列指令使其生效:

sysctl -p
登入後複製

三、使用高效能的web伺服器

選擇合適的web伺服器也對效能有著重要的影響。在CentOS上,Nginx和Apache是​​比較常用的web伺服器。

    Nginx
Nginx是一個高效能的HTTP和反向代理伺服器,它使用非同步非阻塞的事件驅動架構,可以輕鬆處理大流量的請求。

安裝Nginx:

yum install nginx
登入後複製

設定Nginx:

編輯

/etc/nginx/nginx.conf檔:

user www-data;
worker_processes auto;
worker_cpu_affinity auto;

events {
    worker_connections 1024;
    use epoll;
    multi_accept on;
}

http {
    # 配置HTTP服务器
    ...
}
登入後複製

    Apache
Apache是​​一個功能豐富且廣泛使用的web伺服器,雖然效能上稍遜於Nginx,但在某些特定的場景下仍然可以提供良好的效能。

安裝Apache:

yum install httpd
登入後複製

設定Apache:

編輯

/etc/httpd/conf/httpd.conf檔:

ServerLimit 2048
MaxClients 2048
登入後複製

四、使用快取加速

使用快取技術可以有效提升web伺服器的效能。可以使用以下兩種方式進行快取加速:

    HTTP快取
#透過設定適當的

Cache-ControlExpires回應頭,讓客戶端快取靜態資源,減少伺服器的負載,提升使用者的存取體驗。範例程式碼如下:

location /static {
    expires 7d;
}
登入後複製

    反向代理快取
使用反向代理快取來快取動態內容,減少對後端伺服器的請求。可以使用Nginx的

proxy_cache模組來實作反向代理快取。範例程式碼如下:

proxy_cache_path /var/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
server {
    ...
    location / {
        proxy_cache my_cache;
        proxy_cache_valid 200 301 302 5m;
        proxy_pass http://backend;
    }
}
登入後複製
結論

透過關閉不必要的服務、調整核心參數、使用高效能的網頁伺服器和使用快取加速等方式,CentOS搭建的網頁伺服器可以得到更好的性能和響應速度。希望本文提供的性能調優指南能對大家有幫助。

參考連結:

    https://www.digitalocean.com/community/tutorials/5-tips-to-speed-up-your-nginx-web-server
  1. https://www.digitalocean.com/community/tutorials/how-to-optimize-nginx-configuration

以上是最佳實務:CentOS搭建web伺服器的效能調優指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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