LAMP服务器集群搭建需分步骤配置组件并实现高可用性,以下是基于CentOS的典型方案:
sudo yum install httpd -y
sudo systemctl start httpd && sudo systemctl enable httpd
sudo yum install mariadb-server -y
sudo systemctl start mariadb && sudo systemctl enable mariadb
sudo mysql_secure_installation # 设置root密码及安全选项
sudo yum install php php-mysql php-fpm -y
sudo systemctl restart httpd # 重启Apache以加载PHP模块
/etc/nginx/nginx.conf,添加负载均衡规则:upstream lamp_backend {
server 192.168.1.101:80; # Apache服务器1
server 192.168.1.102:80; # Apache服务器2
least_conn; # 动态选择连接数少的服务器
}
server {
listen 80;
location / {
proxy_pass http://lamp_backend;
}
}
重启Nginx:sudo systemctl restart nginx。MariaDB主从复制:
在主服务器(Master)配置/etc/my.cnf:
[mysqld]
server-id=1
log-bin=mysql-bin
在从服务器(Slave)配置:
[mysqld]
server-id=2
relay-log=mysql-relay-bin
执行主从同步命令:
-- 主服务器生成授权用户
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
-- 从服务器设置主库信息
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='repl_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=4;
START SLAVE;
验证状态:SHOW SLAVE STATUS\G。
Pacemaker+Corosync集群管理:
安装工具:sudo yum install pacemaker corosync -y
配置虚拟IP(VIP)和资源管理,实现故障自动转移。
sudo yum install nfs-utils -y/etc/exports,共享目录(如/var/www/html):/var/www/html 192.168.1.0/24(rw,sync,no_root_squash)
sudo mount -t nfs 主服务器IP:/var/www/html /var/www/html。sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
参考来源: