温馨提示×

centos lamp集群如何搭建

小樊
44
2025-08-22 23:19:09
栏目: 智能运维

以下是CentOS LAMP集群的搭建步骤,包含基础环境配置和高可用性设计:

一、基础LAMP环境搭建

  1. 安装Apache

    sudo yum install httpd -y  
    sudo systemctl start httpd  
    sudo systemctl enable httpd  
    
  2. 安装MariaDB(MySQL分支)

    sudo yum install mariadb-server -y  
    sudo systemctl start mariadb  
    sudo systemctl enable mariadb  
    sudo mysql_secure_installation  # 设置root密码及安全选项  
    
  3. 安装PHP及扩展

    sudo yum install php php-mysql php-gd php-xml php-mbstring php-fpm -y  
    # 配置PHP-FPM与Apache集成(修改/etc/httpd/conf.d/php-fpm.conf)  
    sudo systemctl restart httpd  
    

二、高可用集群配置

1. 集群管理工具(Pacemaker + Corosync)

  • 安装工具
    sudo yum install pacemaker corosync pcs -y  
    sudo systemctl start pcsd  
    sudo systemctl enable pcsd  
    
  • 配置集群节点
    sudo pcs cluster auth node1 node2 -u hacluster -p your_password  # 认证节点  
    sudo pcs cluster setup --name lamp_cluster node1 node2  # 创建集群  
    sudo pcs cluster start --all  
    sudo pcs cluster enable --all  
    

2. 虚拟IP(VIP)与资源管理

  • 添加虚拟IP资源
    sudo pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s  
    sudo pcs constraint colocation add VirtualIP with apache INFINITY  
    

3. 负载均衡(Nginx/HAProxy)

  • 安装Nginx
    sudo yum install nginx -y  
    sudo systemctl start nginx  
    sudo systemctl enable nginx  
    
  • 配置负载均衡(以Nginx为例)
    编辑 /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;  # 负载均衡策略(可选:轮询round_robin)  
    }  
    server {  
        listen 80;  
        location / {  
            proxy_pass http://lamp_backend;  
        }  
    }  
    

三、数据冗余与监控

  • 数据库主从复制(可选)
    配置MariaDB主从同步,确保数据一致性(需在从节点执行):
    sudo mysql -e "CHANGE MASTER TO MASTER_HOST='主节点IP', MASTER_USER='repl_user', MASTER_PASSWORD='密码', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=4;"  
    sudo mysql -e "START SLAVE;"  
    
  • 监控工具
    部署Prometheus+Grafana监控集群状态,或使用Pacemaker自带的心跳检测功能。

四、验证与优化

  • 测试集群功能:通过VIP访问服务,模拟节点故障观察自动切换。
  • 性能调优:根据负载调整Nginx的worker_processes、Apache的MaxClients等参数。

说明:以上步骤基于软件层面实现高可用,生产环境需结合硬件冗余(如双网卡、RAID)及定期备份策略。具体配置可根据实际需求调整,建议参考官方文档深入优化。

0