web架构之nginx反代负载均衡动静分离+LAP负载均衡+mysql主从(三)

web架构之nginx反代负载均衡动静分离+LAP负载均衡+mysql主从(三)

此文是在 web架构之nginx反代负载均衡+LAP负载均衡+mysql主从(二)的基础上增加网站动静分离功能。前端nginx服务器(133、134)实现:负载均衡+处理web静态文件。后端LAP服务器(131、132)Apache+php处理web动态文件

web架构图

修改nginx配置文件一台,另一台复制过去就行;

  • 修改网站配置文件/usr/local/nginx/conf/xbz_web/下面的两个网站配置文件www.dz.com、www.wp.com
    分别添加如下内容:
  location ~ .*\.(html|htm|png|gif|jpg|jpeg|bmp|ico|txt|xls|doc|docx|gz|zip|rar|css|js)$
            {
             #保证目录一样,以便做网站数据rxync同步;
             root /var/www/html/wordpress;
             expires 30d;
             }

www.wp.com完整配置代码:

 upstream web_wp {
               server 192.168.29.131:80 weight=1 max_fails=3 fail_timeout=30s;
               server 192.168.29.132:80 weight=1 max_fails=3 fail_timeout=30s;
        } 
    server {
    listen       80;
      server_name  www.wp.com;
    location / {
         root   html;
         index  index.html index.htm index.php;
         proxy_set_header Host $host;
         proxy_pass http://web_wp;
         }
    
    location ~ .*\.(html|htm|png|gif|jpg|jpeg|bmp|ico|txt|xls|doc|docx|gz|zip|rar|css|js)$
         {
         #保证目录一样,以便做网站数据rxync同步;
         root /var/www/html/wordpress;
         expires 30d;
         }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
         }
    }

在这里插入图片描述
www.dz.com配置文件添加以下内容:

 location ~ .*\.(html|htm|png|gif|jpg|jpeg|bmp|ico|txt|xls|doc|docx|gz|zip|rar|css|js)$
         {
         #保证目录一样,以便做网站数据rxync同步;
         root /var/www/html/discuz;
         expires 30d;
         }

www.dz.com完整配置代码:


upstream web_dz {
       server 192.168.29.131:80 weight=1 max_fails=3 fail_timeout=30s;
       server 192.168.29.132:80 weight=1 max_fails=3 fail_timeout=30s;
}


server {
listen       80;
  server_name  www.wp.com;
location / {
     root   html;
     index  index.html index.htm index.php;
     proxy_set_header Host $host;
     proxy_pass http://web_dz;
     }
location ~ .*\.(html|htm|png|gif|jpg|jpeg|bmp|ico|txt|xls|doc|docx|gz|zip|rar|css|js)$
     {
     #保证目录一样,以便做网站数据rxync同步;
     root /var/www/html/discuz;
     expires 30d;
     }
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
     }
}

在这里插入图片描述

  • 这里是在133机器做的修改,改好后scp到134的机器。

scp -r /usr/local/nginx/conf/xbz_web/* root@192.168.29.134:/usr/local/nginx/conf/xbz_web/在这里插入图片描述

  • 133和134分别创建网站目录,测试nginx配置是否正确,重启nginx

    mkdir -p /var/www/html/{discuz,wordpress}
      /usr/local/nginx/sbin/nginx -t
      /usr/local/nginx/sbin/nginx -s reload
    

在这里插入图片描述

  • 浏览器测试网站动静分离是否生效,能访问无图片等静态页面则配置OK!

在这里插入图片描述
在这里插入图片描述

  • 从LAP机器把网站目录分别scp到nginx网站目录
scp -r root@192.168.29.132:/var/www/html/* /var/www/html/

在这里插入图片描述

  • 重新加载nginx,浏览器刷新网站页面图片等信息是否正常显示,能正常显示测动静分离配置OK!
    /usr/local/nginx/sbin/nginx -s reload

在这里插入图片描述
在这里插入图片描述

总结:nginx+Apache实现网站动静分离配置到此完成。到这此架构还存在以下问题:

1、前端的nginx和后端Apache网站目录数据不能实时同步,后续引入rsync实现网站数据实时同步。
2、nginx负载均衡,此时nginx分配任务默认是轮询,轮流访问后端Apache web服务器,无法保持会话。若是使用ip_hash,负载均衡就会变得没有意义,后续优化会加入Redis缓存。
3、数据库做了主从,但是还没有实现高可用。
4、nginx未做优化。

上述存在的问题将会在后面的学习中解决,本系列博文持续更新中!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值