在Debian系统上实现LNMP(Linux+Nginx+MySQL+PHP)高可用性,可从负载均衡、故障转移、数据同步和监控等方面入手,具体步骤如下:
upstream
模块配置多个后端服务器,实现请求分发。支持轮询、最少连接等算法,可设置权重和健康检查。http {
upstream backend {
server 192.168.1.1:8080 weight=3;
server 192.168.1.2:8080;
}
server {
listen 80;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
}
}
}
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;
START SLAVE;
# 安装Keepalived
sudo apt install keepalived
# 配置/etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
virtual_ipaddress {
192.168.1.100
}
}
# /etc/php/8.1/fpm/pool.d/www.conf
listen = /run/php/php8.1-fpm.sock
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
关键点:通过Nginx负载均衡、MySQL主从复制、Keepalived故障转移及PHP-FPM集群,可显著提升LNMP架构的可用性和容错能力,满足生产环境需求。