以下是CentOS LAMP集群的搭建步骤,包含基础环境配置和高可用性设计:
安装Apache
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
安装MariaDB(MySQL分支)
sudo yum install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation # 设置root密码及安全选项
安装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
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
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
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable 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;
}
}
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;"
worker_processes、Apache的MaxClients等参数。说明:以上步骤基于软件层面实现高可用,生产环境需结合硬件冗余(如双网卡、RAID)及定期备份策略。具体配置可根据实际需求调整,建议参考官方文档深入优化。