搭建一个CentOS LAMP(Linux, Apache, MySQL, PHP)服务器集群涉及多个步骤,包括硬件准备、操作系统安装、软件安装和配置、以及集群的设置。以下是一个基本的指南:
在所有服务器上安装CentOS操作系统。
sudo yum update -y
sudo yum groupinstall -y "Server with GUI"
sudo yum install -y httpd mysql-server php php-mysqlnd
在所有服务器上安装和配置Apache。
sudo systemctl start httpd
sudo systemctl enable httpd
在主节点上安装和配置MySQL,并设置复制。
主节点(Master):
编辑MySQL配置文件 /etc/my.cnf
或 /etc/mysql/my.cnf
,添加以下内容:
[mysqld]
server-id=1
log_bin=mysql-bin
auto_increment_increment=2
auto_increment_offset=1
重启MySQL服务:
sudo systemctl restart mysqld
创建一个用于复制的用户:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
查看主节点的二进制日志位置:
SHOW MASTER STATUS;
从节点(Slave):
编辑MySQL配置文件 /etc/my.cnf
或 /etc/mysql/my.cnf
,添加以下内容:
[mysqld]
server-id=2
relay_log=mysql-relay-bin
log_bin=mysql-bin
auto_increment_increment=2
auto_increment_offset=2
read_only=1
重启MySQL服务:
sudo systemctl restart mysqld
配置复制:
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;
START SLAVE;
使用HAProxy或Nginx作为负载均衡器。
安装HAProxy:
sudo yum install -y haproxy
配置HAProxy:
编辑 /etc/haproxy/haproxy.cfg
文件,添加以下内容:
global
log /dev/log local0
log /dev/log local1 notice
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin
server server1 master_ip:80 check
server server2 slave_ip:80 check
启动HAProxy:
sudo systemctl start haproxy
sudo systemctl enable haproxy
访问负载均衡器的IP地址,确保请求被正确分发到主节点和从节点。
设置监控和日志系统,如Prometheus和Grafana,以监控集群的性能和健康状况。
确保所有服务器都进行了适当的安全配置,包括防火墙设置、SELinux配置和定期更新。
通过以上步骤,你可以搭建一个基本的CentOS LAMP服务器集群。根据具体需求,可能还需要进行更多的配置和优化。