环境准备
服务器系统 | 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
# 编辑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
再切换到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