Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署

环境准备

服务器系统 Centos6.8
内存 1G
CPU 2核
IP地址 10.0.0.20
服务1 Nginx
服务2 Keepalived
服务器系统 Centos6.8
内存 1G
CPU 2核
IP地址 10.0.0.21
服务1 Nginx
服务2 Keepalived
服务器系统 Centos6.8
内存 1G
CPU 2核
IP地址 10.0.0.22
服务1 LAMP环境
服务2 memcache
服务器系统 Centos6.8
内存 1G
CPU 2核
IP地址 10.0.0.23
服务1 LAMP环境
服务2 memcache

首先获取Nginx源码包,我这里有,如果没有可以去Nginx官网获取

http://nginx.org/en/download.html

在这里插入图片描述
在这里插入图片描述

# 在20、21两台主机上安装keepalived服务
yum -y install keepalived
# 在20、21两台主机上安装nginx依赖
yum -y install pcre-devel zlib-devel gcc gcc-c++
# 在22、23主机上安装LAMP环境
yum -y install httpd php php-mysql php-fpm php-gd mysql mysql-server

在这里插入图片描述

在这里插入图片描述

在回到20主机上操作

# 解压nginx源码包
tar zxf nginx-1.12.0.tar.gz 
# 进入解压后的包
cd nginx-1.12.0
# 编译并安装nginx服务
./configure 
make && make install
cd

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# 启动nginx服务
/usr/local/nginx/sbin/nginx 
# 每台主机上都要关闭防火墙
service iptables stop
setenforce 0

测试nginx服务访问页面
在这里插入图片描述

扫描二维码关注公众号,回复: 8966697 查看本文章
# 编辑keepalived配置文件
vim /etc/keepalived/keepalived.conf 

在这里插入图片描述

在这里插入图片描述

# 将20主机上修改好的配置文件远程拷贝至21主机上
scp /etc/keepalived/keepalived.conf 10.0.0.21:/etc/keepalived/keepalived.conf 

在这里插入图片描述

切换到21主机上操作

vim /etc/keepalived/keepalived.conf

在这里插入图片描述

# 启动keepalived服务
service keepalived start
tar zxf nginx-1.12.0.tar.gz 
cd nginx-1.12.0
./configure 
make && make install 
cd
/usr/local/nginx/sbin/nginx

测试
keepalived高可用服务实现故障漂移,模拟Master20主机故障

切换到20主机上操作

# 启动keepalived服务
service keepalived start
# 终止keepalived服务
service keepalived stop

在这里插入图片描述

再来21主机上Keepalived-Backup这边查看虚拟IP已经漂移过来了

在这里插入图片描述

模拟20主机服务恢复,根据优先级自动抢占虚拟IP

service keepalived restart

在这里插入图片描述

在这里插入图片描述

再切换到22主机上操作

# 编辑阿帕奇服务配置文件
vi /etc/httpd/conf/httpd.conf 

在这里插入图片描述

在这里插入图片描述

# 启动阿帕奇服务
service httpd start
# 编写php服务测试页面
vi /var/www/html/index.php
<?php
phpinfo();
?>

在这里插入图片描述

测试php服务访问页面

在这里插入图片描述

再切换到23主机上操作
基本上是重复的操作

# 编辑阿帕奇服务配置文件
vi /etc/httpd/conf/httpd.conf 

在这里插入图片描述

在这里插入图片描述

# 启动阿帕奇服务
service httpd start
# 编写php服务测试页面
vi /var/www/html/index.php
22222222222222222
<?php
phpinfo();
?>

在这里插入图片描述

测试第二个php服务访问页面,注意我两次的IP地址是不一样的
在这里插入图片描述

再切换到20主机上操作,做负载均衡模块

# 编辑nginx服务的配置文件,修改完后wq保存退出
vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

# 进入nginx的启动目录,并重启nginx服务
cd /usr/local/nginx/sbin/
./nginx -s reload
# 将20主机上修改好的nginx配置文件远程拷贝至21主机
scp /usr/local/nginx/conf/nginx.conf 10.0.0.21:/usr/local/nginx/conf/

再切换到21主机上操作

cd /usr/local/nginx/sbin/
# 检查nginx配置文件
./nginx -t 
./nginx -s reload

在这里插入图片描述

测试负载均衡页面,注意我测试的IP地址是不一样的
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

通过虚拟IP去测试负载的页面
在这里插入图片描述

在这里插入图片描述

再切换到22主机上操作,做数据库主从

# 编辑mysql数据库配置文件
vi /etc/my.cnf 

在这里插入图片描述

# 启动mysql服务
service mysqld start
# 登陆至数据库里面
mysql
# 授权
grant all on *.* to qq@'%' identified by 'qq';
flush privileges;
# 刷新权限
show master status;

在这里插入图片描述

再切换到23主机上操作

vi /etc/my.cnf 

在这里插入图片描述

service mysqld start
mysql
change master to master_host='10.0.0.22',master_user='qq',master_password='qq',master_log_file='mybin.000003',master_log_pos=301;
start slave;
show slave status \G;

在这里插入图片描述

# 22、23主机做memcache,安装必要的库和环境
yum  -y install memcached php-pecl-memcache libmemcached-devel
# 安装完毕后启动memcache服务
service memcached start
# 查看memcahce服务是否存活
netstat -anpt | grep 11211
# 或者用ps命令查看memcache服务的进程
ps -ef |grep memcached

在这里插入图片描述

# 编辑php配置文件
vi /etc/php.ini 

在这里插入图片描述

# 添加这个
session.save_handler = memcache
# 重启阿帕奇服务
service httpd restart

在这里插入图片描述

发布了83 篇原创文章 · 获赞 28 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/aaronszm/article/details/104126404