最佳實踐:CentOS搭建web伺服器的效能調優指南
摘要:本文旨在為CentOS搭建web伺服器的使用者提供一些效能調優的最佳實踐,旨在提升伺服器的效能和響應速度。將介紹一些關鍵的調優參數和常用的最佳化方法,並提供了一些範例程式碼幫助讀者更好地理解和應用這些方法。
一、關閉不必要的服務
在CentOS搭建web伺服器時,預設會啟動一些不必要的服務,這些服務會佔用系統資源而且對web伺服器的效能沒有明顯的提升。因此,我們應該關閉這些不必要的服務以釋放資源。
使用以下指令列出正在執行的服務:
systemctl list-units --type=service --state=running
根據實際情況選擇關閉不需要的服務,例如關閉郵件服務:
systemctl stop postfix systemctl disable postfix
二、調整核心參數
優化核心參數是提升伺服器效能的重要一步。可以透過修改/etc/sysctl.conf
檔案來調整核心參數。以下是一些常用的核心參數調優方案:
# 增加系统最大文件句柄数 fs.file-max = 65535 # 增加每个进程可以打开的文件句柄数限制 ulimit -n 65535
# 增加系统的最大并发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
# 消除群聊分片 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_sack = 0 net.ipv4.tcp_dsack = 0
# 提高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
yum install 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服务器 ... }
yum install httpd
/etc/httpd/conf/httpd.conf檔:
ServerLimit 2048 MaxClients 2048
Cache-Control和
Expires回應頭,讓客戶端快取靜態資源,減少伺服器的負載,提升使用者的存取體驗。範例程式碼如下:
location /static { expires 7d; }
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搭建web伺服器的效能調優指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!