设为首页 收藏本站
查看: 1198|回复: 0

[经验分享] 利用HAProxy简单实现wordpress动静分离示例

[复制链接]

尚未签到

发表于 2019-1-2 07:31:03 | 显示全部楼层 |阅读模式
  系统拓扑图如下:

  此处我利用Centos7.5作为服务器,将访问到此处的报文动静分离到下端服务器,Centos7.5A与Centos7.5B作为动态页面相应服务器,Centos7.5C用来反馈静态页面;Centos7.5 IP地址:179.5.99.12;Centos7.5A IP地址:179.5.99.13;Centos7.5B IP地址:179.5.99.14;Centos7.5C IP地址:179.5.99.15;
  Centos7.5:
  在Centos7.5服务器上,安装HAProxy应用;
  1>官方站点下载较新版本(https://www.haproxy.com/)

  2>直接在base源中安装稳定版本
  第一步:启动HAProxy
        

  默认情况下HAProxy监听5000端口,为了使其与后端服务器httpd相应连接我修改配置文件让他监听到80端口;上图中可以看到80端口由haproxy监听;表示haproxy已经启动;
  第二步:修改配置文件


  上图为/etc/haproxy/haproxy.cfg配置文件的一部分;
  frontend  main *:80                                                                           // 名称main配置段监听所有地址的80端口
            acl url_static   path_beg     -i /static /images /javascript /stylesheets          //不区分大小写,以/static /images 等开头的文件可以匹配到url_static中      

  acl url_static       path_end       -i .jpg .gif .png .css .js .txt .html .htm        //不区分大小写,以.jpg .gif 等结尾的文件可以匹配到url_static中
           

  use_backend static          if url_static              //如果符合url_static条件则使用static执行;
            default_backend             app                           //默认的backend为app
            errorfile 403  /etc/error.txt                              //错误码为403的访问重定向到/etc/error.txt

            backend static                                                 //定义static
            balance     roundrobin                                    //定义算法为roundrobin
            server      static 179.5.99.15:80 check             //访问到服务器179.5.99.15:80(Centos7.5C)
            backend app                                                   //定义app
            balance     leastconn                                       //定义算法
            server  app1 179.5.99.13:80 check                  //访问到服务器179.5.99.13:80(Centos7.5A)
  server  app2 179.5.99.14:80 check                 //访问到服务器179.5.99.14:80(Centos7.5B),此处涉及到一个负载均衡,根据后端服务器真实情况调整调度情况;
  Centos7.5A:安装httpd,mariadb,NFS服务;(此前构建过LAMP以及NFS实现网络构建wordpress服务在其他博文中)
  安装httpd,NFS,mariadb服务请手动翻找之前的文章;
  第一步:启动httpd,mariadb,nfs服务

  

  第二步:修改httpd配置文件

  我曾经通过httpd构建过wordpress,上图为其中一个httpd的虚拟主机;配置文件详解请翻找LAMP博文;

  上图是我通过浏览器访问我构建的wordpress站点;
  第三步:通过nfs实现网络共享文件夹,目的是为了保证在负载均衡的同时访问到的wordpress站点是同一个站点;
  修改nfs配置文件/etc/exports
  /etc/httpd/vhost/vhost1    *(rw)   //共享目录为/etc/httpd/vhost/vhost1    任何主机都可以以可读可写的状态挂载
  Centos7.5B:同Centos7.5A,只是不需要NFS服务;
  在Centos7.5B上挂载Centos7.5A上共享的目录;
  [root@localhost ~]# mount -t nfs  179.5.99.13:/etc/httpd/vhost/vhost1   /etc/httpd/vhost/vhost1

  Centos7.5C:
  在Centos7.5C上只需要布置httpd服务就可以;使其能够正常被访问;
  

  下面通过实验验证上述配置:
  1.利用浏览器访问Centos7.5下的静态文件(179.5.99.12/index.html)  

         

  如图所示,默认访问到了下端的静态服务器Centos7.5C;
  2.访问Centos7.5的wordpress(179.5.99.12/wordpress)

  访问到centos7.5A的wordpress,刷新后结果一样,所以说明通过7.5A与7.5B的服务器连接到的都是同一个wordpress;即通过HAProxy实现动静分离;

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658442-1-1.html 上篇帖子: haproxy配置文件说明 下篇帖子: haproxy配置文档说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表