实验:使用Haprox动静分离部署wordpress

一、实验要求
  • 动静都要能实现负载均衡,要注意会话的问题
  • 在haproxy和后端主机之间添加varnish进行缓存
  • 启用stats page,要求仅能通过本地访问使用管理接口
  • 分别考虑不同的服务器组的调度算法
  • 启用压缩功能
二、实验拓扑图

实验:使用Haprox动静分离部署wordpress

三、搭建各服务器环境
1. 搭建Haproxy
  • 安装软件
yum -y install haproxy
  • 配置服务
vim /etc/haproxy/haproxy.cfg
# 注释原来的 frontend 和 backend 配置段,新加如下代码:
frontend http
        bind *:80
        acl url_static   path_beg   -i /images /javascripts /stylesheets
        acl url_static   path_end   -i .jpg .gif .png .css .js
        use_backend static if url_static
        default_backend dynamic

listen stats
        bind *:8075
        acl valid_user src 192.168.30.101
        stats enable
        stats uri /optstats
        stats realm "Haproxy statistic"
        stats auth admin:centos
        stats admin if valid_user
        stats refresh 5

backend static
        balance roundrobin
        maxconn 10000
        server  st1 192.168.30.104:80 maxconn 5000 check

backend dynamic
        balance roundrobin
        maxconn 10000
        server dy1 192.168.30.100:80 maxconn 5000 check
  • 配置日志
vim /etc/rsyslog.conf
# 取消下面两条语句的注释
$ModLoad imudp   
$UDPServerRun 514
 # 在文件末尾添加一条规则
local2.*  /var/log/haproxy.log       

systemctl restart rsyslog
  • 启动haproxy服务
systemctl enable haproxy
systemctl start haproxy
2. 搭建后端Web服务器
  • static服务器搭建
yum install httpd -y
systemctl enable httpd
systemctl start httpd
  • dynamic 服务器搭建
yum install httpd php php-mysql php-gd php-mbstring -y
systemctl enable httpd
systemctl start httpd
3. 部署Wordpress
  • 在mariadb数据库中授权用户将
mysql > grant all on wordpress.* to test@'192.168.30.%' identified by 'centos';
  • 解压Wordpress软件包
tar xf wordpress-4.9.4-zh_CN.tar.gz -C /var/www/html/
  • 修改wordpress配置文件
cp wp-config-sample.php wp-config.php
# 配置MySQL连接
vim wp-config.php
define('DB_NAME', 'wordpress');
define('DB_USER', 'test');
define('DB_PASSWORD', 'centos');
define('DB_HOST', '192.168.30.107');
4. 搭建Varnish
  • 安装软件包
yum -y install varnish
  • 修改配置文件
cd /etc/varnish
vim default.vcl
...
backend default {
    .host = "192.168.30.104";
    .port = "80";
}
...

vim varnish.params
...
VARNISH_LISTEN_PORT=6081
...
VARNISH_STORAGE="malloc,256M"
...
  • Haproxy修改配置文件
backend static
        balance roundrobin
        maxconn 10000
        server  st1 192.168.30.103:6081 maxconn 5000 check
  • 启动服务
systemctl start varnish
systemctl restart haproxy
四、测试和验证

实验:使用Haprox动静分离部署wordpress

上一篇:MenuBar Stats for mac(系统监控工具) 3.0激活版


下一篇:SciPy 统计