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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第1张图片
Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第2张图片

# 在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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第3张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第4张图片

在回到20主机上操作

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第5张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第6张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第7张图片

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

测试nginx服务访问页面
Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第8张图片

# 编辑keepalived配置文件
vim /etc/keepalived/keepalived.conf 

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第9张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第10张图片

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第11张图片

切换到21主机上操作

vim /etc/keepalived/keepalived.conf

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第12张图片

# 启动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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第13张图片

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第14张图片

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

service keepalived restart

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第15张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第16张图片

再切换到22主机上操作

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第17张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第18张图片

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第19张图片

测试php服务访问页面

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第20张图片

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

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第21张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第22张图片

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第23张图片

测试第二个php服务访问页面,注意我两次的IP地址是不一样的
Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第24张图片

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

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第25张图片

# 进入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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第26张图片

测试负载均衡页面,注意我测试的IP地址是不一样的
Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第27张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第28张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第29张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第30张图片

通过虚拟IP去测试负载的页面
Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第31张图片

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第32张图片

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

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第33张图片

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第34张图片

再切换到23主机上操作

vi /etc/my.cnf 

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第35张图片

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;

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第36张图片

# 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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第37张图片

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第38张图片

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

Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署_第39张图片

你可能感兴趣的:(Keepalived高可用+Nginx负载均衡+LAMP环境+MysqL主从+Memcache架构搭建部署)