Linux下ThinkPHP负载均衡方案
一 架构总览
二 方案一 Nginx反向代理与负载均衡
http {
upstream thinkphp_servers {
server 192.168.1.11:80 weight=1 max_fails=3 fail_timeout=30s;
server 192.168.1.12:80 weight=1 max_fails=3 fail_timeout=30s;
server 192.168.1.13:80 backup;
}
server {
listen 80;
server_name your.domain.com;
location / {
proxy_pass http:/php_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 超时与连接复用
proxy_connect_timeout 5s;
proxy_send_timeout 15s;
proxy_read_timeout 15s;
proxy_buffering off;
}
}
}
三 方案二 HAProxy负载均衡
global
log /dev/log local0
log /dev/log local1 notice
daemon
maxconn 4096
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 http_back
backend http_back
balance roundrobin
option httpchk GET /health
http-check expect status 200
server tp1 192.168.1.11:80 check inter 5s fall 3 rise 2
server tp2 192.168.1.12:80 check inter 5s fall 3 rise 2
server tp3 192.168.1.13:80 check backup
四 高可用与容器化部署
五 关键注意事项与最佳实践