keepalived实现nginx调度器高可用(二)

构建LNAMMP架构:
1) Nginx既是前端调度器,又是反向代理缓存服务器;
2) 将php的session缓存于memcached中;
3) 使用php-fpm上部署Discuz论坛程序;
4) 使用https连接,即使用户使用的是http协议也可以以https协议进行访问;

声明:提供5台主机,其中两台nginx做前端调度器(一台做主调度器:172.16.1.11主机,一台做备用调度器:172.16.1.20主机),

另外两台主机做web服务器向外提供php-fpm服务;(172.16.1.12主机和172.16.1.13主机)

一台提供memcache服务(172.16.1.14主机)

框架如图:

1.在两台nginx上配置nginx反代服务

# vim /etc/nginx/nginx.conf

在http上下文中添加下文:

upstream webser {
             server 172.16.1.12:80 weight=1;
             server 172.16.1.13:80 weight=1;
             }
             server {
                 listen       80 default_server;

location / {
                       proxy_pass http://webser;
                 }

}

配置完成后,启动nginx服务,使配置生效;

2.配置keepalived+nginx_master(172.16.1.11主机):(前提,安装keepalived : # yum install keepalived)

# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
                     notification_email {
                                [email protected]
                     }
                     notification_email_from [email protected]
                     smtp_server 127.0.0.1
                     smtp_connect_timeout 30
                     router_id drct1
                    vrrp_mcast_group4 224.0.100.18
             }
             vrrp_script check_httpd {
                    script "killall -0 nginx && exit 0 || exit 1"
                    interval 1
                    weight -20
              }
              vrrp_instance VI_1 {
                    state BACKUP
                    interface ens33
                    virtual_router_id 51
                    priority 100
                    advert_int 1
                    authentication {
                           auth_type PASS
                           auth_pass cxqLUKJh(# openssl rand -base64 8 生成的密码取前八位)
                    }
                   virtual_ipaddress {
                          172.16.1.254/16
                    }
                   track_script {
                           check_httpd
                    }
               }

启动keepalived服务:

# systemctl start keepalived.service

3.配置keepalived+nginx_backup(172.16.1.13主机):

# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
                     notification_email {
                                [email protected]
                     }
                     notification_email_from [email protected]
                     smtp_server 127.0.0.1
                     smtp_connect_timeout 30
                     router_id drct2
                    vrrp_mcast_group4 224.0.100.18
             }
             vrrp_script check_httpd {
                    script "killall -0 nginx && exit 0 || exit 1"
                    interval 1
                    weight -20
              }
              vrrp_instance VI_1 {
                    state BACKUP
                    interface ens33
                    virtual_router_id 51
                    priority 90
                    advert_int 1
                    authentication {
                           auth_type PASS
                           auth_pass cxqLUKJh
                    }
                   virtual_ipaddress {
                          172.16.1.254/16
                    }
                   track_script {
                           check_httpd
                    }
               }

配置完成后,启动keepalived服务:

# systemctl start keepalived

4.配置后端web服务器

1)安装httpd,php-fpm,php-mysql,mariadb,php-pecl-memcache

# yum install http php-fpm php-mysql mariadb php-pecl-memcache

2) 做php测试页面:

webserver1:

vim /var/www/html/index.php

Real Server 1
                        <?php
                        phpinfo();
                        ?>

webserver2:

vim /var/www/html/index.php

Real Server 2
                        <?php
                          phpinfo();
                        ?>

3) 启动http服务,php-fpm服务和数据库服务:

# systemctl start httpd

# systemctl start php-fpm

# systemctl start mariadb

先检测index.php页面是否可用:

web测试:172.16.1.12/index.php

再测试172.16.1.13/index.php

2)将php的session缓存于memcached中

在两台提供php-fpm的主机上修改文件:

vim /etc/php-fpm.d/www.conf:

将最后两行修改为:

php_value[session.save_handler] = memcache
                         
php_value[session.save_path] =
"tcp://172.16.1.14:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

目的是将php的客户端请求缓存于172.16.1.14主机的memcache中;

5.memcache服务器配置:
                   安装memcache并启动服务:

# yum install memcached

# systemctl  start memcached

6.上述操作完成后,测试调度器能否成功访问php-fpm服务器:

web端输入172.16.1.254/index.php

继续访问:

7.确保调度器,php-fpm服务器,memcache服务器都能正常工作后:

1)在两台php-fpm服务器上部署wordpress论坛,放到/var/www/html/目录下(这里不做赘述)

# cd /var/www/html/

# ls

index.html  index.php   wordpress

2) 为论坛建立一个数据库并授权一个用户(两台服务器做相同操作)

# mysql -p

...

MariaDB [(none)]> create database wordpress;

MariaDB [(none)]> use wordpress;
                       Reading table information for completion of table and column names
                       You can turn off this feature to get a quicker startup with -A

Database changed
                      MariaDB [wordpress]> grant all on *.* to 'ytc'@'localhost' identified by '123456';
                      Query OK, 0 rows affected (0.01 sec)

MariaDB [wordpress]> flush privileges;
                      Query OK, 0 rows affected (0.04 sec)

3)切换到/var/www/html/wordpress目录下:

# cd /var/www/html/wordpress/

# cp wp-config-sample.php  wp-config.php

# vim wp-config.php

/** WordPress数据库的名称 */
                         define('DB_NAME', 'wordpress');

/** MySQL数据库用户名 */
                         define('DB_USER', 'myuser');

/** MySQL数据库密码 */
                        define('DB_PASSWORD', '123456');

/** MySQL主机 */
                        define('DB_HOST', '172.16.1.13');

4)    可使用nfs或samba使两台php-fpm服务器数据库同步(我的博客中有,这里不再重复)

8.在web端向调度器请求访问Wordpress论坛:

输入:172.16.1.254/wordpress/index.php

登录后:

这样就可以发布文章了;

原文地址:http://blog.51cto.com/yuantianchi/2129976

时间: 2024-10-17 22:25:18

keepalived实现nginx调度器高可用(二)的相关文章

利用keepalived实现nginx调度器高可用(一)

利用keepalived实现nginx调度器高可用 声明:提供四台主机,其中两台nginx做前端调度器(一台做主调度器,一台做备用调度器), 另外两台主机做web服务器向外提供http服务: 框架如图: 1.在两台nginx上配置nginx反代服务 # vim /etc/nginx/nginx.conf 在http上下文中添加下文: upstream webser {             server 172.16.1.12:80 weight=1;             server 1

keepalived+lvs/nginx 实现调度器高可用

友情提醒:本文实验环境 centos 6.6 X86_64 + vmware 10,文中命令请谨慎使用 一 关于keepalived的理论 待补 二 实验拓扑和实验环境设定: 主机 主机名和IP 角色 Test06 Test06.lijun.com eth2:172.16.100.6/24 后台web服务器,提供HTTPD服务 Test07 Test07.lijun.com eth2:172.16.100.7/24 后台web服务器,提供HTTPD服务 Test03 Test03.lijun.c

keepalived+lvs实现调度、高可用、高性能集群

6.keepalived+lvs实现调度.高可用.高性能集群 Keepalived的作用是: 检 测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服 务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务 器       (1)安装keepalived     # ./configure --prefix=/usr

初识keepalived(三)——keepalived与nginx代理实现高可用

背景介绍 nginx除了可以作为web服务器外,同时也是一个反向代理软件,nginx不能完全取代apache,所以很多场景下nginx作为apache的反向代理服务器.nginx运行在用户空间,代替用户向服务器发起请求,请求返回时再经由nginx服务器返回给用户.不同于LVS的NAT模型,web服务器的网关不用必须指向nginx服务器,只要2者之间可以通信就可以,由于nginx作为代理服务器,所以支持端口转换. 网络拓扑 实验拓扑结构如下: 实验系统采用CentOS6.8,nginx采用1.12

Keepalived实现Nginx与LVS高可用

在192.168.1.10和192.168.1.20分别安装: #yum –y install keepalived 192.168.1.10的配置文件内容: #vim keepalived.conf ! Configuration File for keepalived global_defs { notification_email { [email protected] } notification_email_from [email protected] smtp_server 127.

Centos7+Nginx+Keepalived实现Apache服务的高可用&负载均衡

Centos7+Nginx+Keepalived实现Apache服务的高可用&负载均衡 今天是2017年的第一天,昨天也就是2016年的最后一天,我尝试部署了Centos7+Nginx+Keepalived实现WEB服务的高可用负载均衡服务,终于在2017年的第一天前完成了,所以在此分享给有需要的朋友:说到负载均衡,其实在linux下有很多服务可以实现,比如nginx.haproxy.lvs等服务,当前我们在前面的文章有介绍过了,但是对于高可用服务,我们在linux下最常见也是应用最多的是Kee

Keepalived+Nginx+Tomcat 实现高可用Web集群(转)

Keepalived+Nginx+Tomcat 实现高可用Web集群 溯水心生 关注 2018.01.08 20:28* 字数 1382 阅读 965评论 1喜欢 9 集群规划图片 一.Nginx的安装过程 1.下载Nginx安装包,安装依赖环境包 (1)安装 C++编译环境 yum -y install gcc #C++ (2)安装pcre yum -y install pcre-devel (3)安装zlib yum -y install zlib-devel (4)安装Nginx 定位到n

Nginx+Keepalived+Tomcat+MySQL负载均衡&amp; 通过nginx调度器访问Tom

目录第一部分 环境准备第二部分 部署调度器-搭建Nginx+Keepalived(双机热备)第三部分 部署服务器池-搭建Tomcat第四部分 搭建Mysql数据库第五部分 案例应用 第一部分 环境准备 一:Nginx+keepalived服务器两台(调度器,双机热备)系统:Linux-CentOS7.4IP地址:192.168.40.15192.168.40.16软件需求:nginx安装包(nginx-1.13.9.tar.gz)Keepalived安装包(keepalived-1.4.2.ta

Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)

原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.net/xyang81/article/details/52554398可以看更多介绍 Keepalived的介绍可以百度一堆一堆的资料.一定要看看哦. 1.基于上一篇博客总结,再次安装一个虚拟机当backup服务器,这个服务器只安装Keepalived+Nginx即可 2.Master还是上一篇博文的