通过HAProxy的反向代理搭建基于LNMP架构的wordpress博客

本文介绍了如何使用HAProxy和keepalived构建高可用的负载均衡层,结合LNMP(Nginx+PHP)搭建WordPress博客,并通过NFS和MySQL主从复制确保数据一致性和高可用性。
摘要由CSDN通过智能技术生成

HAProxy+LNMP架构部署wordpress

  利用HAProxy做四层负载服务器,并且搭两台服务器,利用keepalived避免其中一台服务器挂掉,可以通过另外一台HAProxy还能正常给用户转发web请求,从而实现高可用,后端web服务器用Nginx+PHP提供web服务器(Nginx和PHP在同一台服务器上).同时为了实现高可用,也需要搭两台,并且web服务器上的静态资源文件不放在web服务器,两台服务器通过NFS服务器存储共享,避免用户访问的资源不一致,同时也方便同步。并且搭两台MySQL数据库,一主一从,实现高可用,由于机器有限,计划将MySQL和NFS服务器放在同一台服务器。

1.环境准备

  需要准备6台centos7主机,三组服务器组,大概拓扑图如下图:
在这里插入图片描述
负载层:HAProxy+keepalived:192.168.38.7和192.168.38.17 (VIP 192.168.38.100)
WEB层:Nginx+PHP:192.168.38.18和192.168.38.20
静态层:MySQL+NFS:192.168.38.27和192.168.38.37

2.安装软件

2.1 负载层

2.1.1 编译安装haproxy-2.0.8

1).编译安装较新版本的lua环境,然后才能编译安装HAProxy

yum install libtermcap-devel ncurses-devel libevent-devel readline-devel
cd /usr/local/src/
wget http://www.lua.org/ftp/lua-5.3.5.tar.gz    
tar xvf lua-5.3.5.tar.gz  
cd lua-5.3.5  
make linux test   

2).安装编译环境

yum install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel
systemd-devel net-tools vim iotop bc zip unzip zlib-devel lrzsz tree screen lsof
tcpdump wget ntpdate 

3).安装

cd /usr/local/src/haproxy-2.0.8   

make  ARCH=x86_64 TARGET=linux-glibc  USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1  USE_SYSTEMD=1  USE_CPU_AFFINITY=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.3.5/src/  LUA_LIB=/usr/local/src/lua-5.3.5/src/ PREFIX=/apps/haproxy   

make install PREFIX=/apps/haproxy  

4).准备文件

[root@centos7 haproxy-2.0.8]# cp haproxy /usr/sbin/  

启动脚本
vim /usr/lib/systemd/system/haproxy.service

[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target

配置文件
vim /etc/haproxy/haproxy.cfg

global
maxconn 100000
chroot /apps/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid haproxy
gid haproxy
daemon
nbproc 4
cpu-map 1 0
cpu-map 2 1
cpu-map 3 2
cpu-map 4 3
pidfile /var/lib/haproxy/haproxy.pid
log 127.0.0.1 local3 info

defaults
option http-keep-alive
option forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms
listen stats
mode http
bind 0.0.0.0:9999
stats enable
log global
stats uri /haproxy-status
stats auth haadmin:q1w2e3r4ys

listen web_port
bind 192.168.38.100:80
mode http
log global
server 192.168.38.18 192.168.38.18:80 check inter 3000 fall 2 rise 5
server 192.168.38.20 192.168.38.20:80 check inter 3000 fall 2 rise 5

listen mysql
bind 192.168.38.100:3306
mode tcp
log global
server 192.168.38.27 192.168.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值