简单的拓扑图

架构:
前端Nginx可以部署静态文件(后期实现静态分离),动态请求全部用反向代理 proxy_pass到后端web1和web2
交给后端服务器php处理,数据库也是由web1和2去连接后面的主数据库(事先做好主从配置),这里发布discuz论坛为例。在创建数据库时,地址建议写域名。如www.dismysql.com(绑定1.248 在web1和2的/etc/hosts文件)数据库地址写域名的好处是 在主数据库宕机后,不用找网站的连接数据库的config去修改成从数据库ip地址了,直接在web1和web2的hosts里修改对应关系即可快速切换。
如:主1.248宕机后 ,直接修改hosts切换

反向代理配置:
最简单版
upstream aa_a {
server 192.168.1.250:81;
server 192.168.1.251:82;
}
upstream aa_a {
ip_hash;
server 192.168.1.250:81 weight=1 max_fails=2 fail_timeout=15s;
server 192.168.1.251:82 weight=1 max_fails=2 fail_timeout=15s;
}
下面的配置 在原来的基础上 配置了hash模式,该配置会让用户在访问到请求过程中,nginx会判断用户的ip
来保证其一直链接一个服务器去请求.(均衡就无效了)
weight代表权重,max_fails 是检测次数 fail_timeout是超时时间,整体意思理解起来就是,权重相同,如果15s内超时2次那么把该服务器从均衡中 剔除。
https://www.cnblogs.com/gbq-dog/p/10653054.html
网友评论