Linux LAMP集群部署需整合Linux、Apache、MySQL、PHP服务,实现高可用和负载均衡,核心步骤如下:
服务器准备
安装LAMP组件
httpd
,启用PHP模块,配置虚拟主机。# CentOS示例
sudo yum install httpd php libapache2-mod-php -y
sudo systemctl start httpd
sudo yum install mariadb-server -y
sudo systemctl start mariadb
sudo mysql_secure_installation
php-mysql
),确保与Apache兼容。方案1:基于Nginx反向代理
upstream lamp_cluster {
server 192.168.1.101:80; # Web服务器1
server 192.168.1.102:80; # Web服务器2
least_conn; # 动态选择最少连接服务器
}
server {
listen 80;
location / {
proxy_pass http://lamp_cluster;
}
}
方案2:基于LVS四层负载均衡
sudo yum install ipvsadm -y
。ipvsadm
添加规则:ipvsadm -A -t 192.168.1.200:80 -s rr # 轮询策略
ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.101:80 -m # 添加Web服务器1
ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.102:80 -m
主从复制(读写分离)
sudo vim /etc/my.cnf
,添加server-id=1
,开启log-bin
。server-id=2
,指定主服务器IP和端口。mysql> CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='repl_user', MASTER_PASSWORD='密码';
mysql> START SLAVE;
数据库集群方案(可选)
NFS共享Web文件
/var/www/html
)共享给所有Web节点,确保内容一致。sudo mount -t nfs nfs服务器IP:/共享目录 /var/www/html
。配置同步(可选)
rsync
或lsyncd
同步配置文件(如Apache虚拟主机配置),避免手动修改多台服务器。防火墙配置
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
性能优化
mod_deflate
压缩静态资源,减少传输延迟。query_cache_size
)提升查询效率。