温馨提示×

LAMP服务器集群搭建方法

小樊
63
2025-08-17 04:44:05
栏目: 云计算

LAMP服务器集群搭建需分步骤配置组件并实现高可用性,以下是基于CentOS的典型方案:

一、基础组件安装

  1. Apache
    sudo yum install httpd -y  
    sudo systemctl start httpd && sudo systemctl enable httpd  
    
  2. MariaDB(数据库)
    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-fpm -y  
    sudo systemctl restart httpd  # 重启Apache以加载PHP模块  
    

二、集群功能配置

1. 负载均衡(软件实现)

  • 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;  # 动态选择连接数少的服务器  
    }  
    server {  
        listen 80;  
        location / {  
            proxy_pass http://lamp_backend;  
        }  
    }  
    
    重启Nginx:sudo systemctl restart nginx

2. 高可用性(主从复制+集群管理)

  • 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)和资源管理,实现故障自动转移。

三、数据同步与冗余

  • NFS共享存储(适用于静态资源):
    1. 主服务器安装NFS服务:sudo yum install nfs-utils -y
    2. 编辑/etc/exports,共享目录(如/var/www/html):
      /var/www/html 192.168.1.0/24(rw,sync,no_root_squash)  
      
    3. 从服务器挂载共享目录:sudo mount -t nfs 主服务器IP:/var/www/html /var/www/html

四、监控与安全

  • 服务监控:使用Prometheus+Grafana监控服务器状态,或通过Nagios检测服务异常。
  • 防火墙配置
    sudo firewall-cmd --add-service=http --permanent  
    sudo firewall-cmd --add-service=https --permanent  
    sudo firewall-cmd --reload  
    

注意事项

  • 负载均衡需根据业务选择策略(轮询、加权轮询等)。
  • 数据库主从复制需确保网络延迟低,避免数据同步延迟。
  • 生产环境建议使用分布式存储(如DRBD)替代NFS,提升数据可靠性。

参考来源:

0