Linux服务器PHP负载均衡实战指南
一、架构与方案选型
二、方案一 Nginx反向代理到多台PHP-FPM
upstream php_backend {
least_conn; # 可按需改为 roundrobin/ip_hash
server 192.168.1.11:9000 check;
server 192.168.1.12:9000 check;
server 192.168.1.13:9000 check;
}
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass php_backend; # 指向 upstream 名称
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
三、方案二 HAProxy分发到多台PHP-FPM
global
log /dev/log local0
log /dev/log local1 notice
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http_front
bind *:80
default_backend php_back
backend php_back
balance roundrobin
option httpchk GET /health.php
server s1 192.168.1.11:9000 check
server s2 192.168.1.12:9000 check
server s3 192.168.1.13:9000 check
四、关键注意事项与优化