西数超哥博客
运维经验教程分享

LNMP实现双主机负载均衡

  • 项目需求
  • 项目分析
  • 网络拓扑
  • 设备信息
  • 实施前提
  • 项目实施
  • 数据走向
  • 附加内容

目录

项目需求

网站创建之初因访问量较少,只放置在一台服务器上。随着访问量的增加,一台服务器已无法负载,打算增加一台服务器做负载均衡。

项目分析

常见的负载均衡有两种,一种基于四层为LVS,一种基于七层为Nginx。两种负载均衡都需要三台服务器才能发挥性能,有悖于预算中的两台服务器,故打算使用动静分离加远程数据库来实现负载均衡。

网络拓扑

设备信息

  1. 客户端192.168.1.250,仅需要浏览器;
  2. 服务器A192.168.1.1,需安装Nginx+PHP,负责分发和动态文件的处理;
  3. 服务器B192.168.1.2,需安装Nginx+MySQL,负责静态文件处理和数据库存储。

实施前提

如上安装好对应的服务,程序以WordPress为例。

项目实施

  • 动静分离

修改服务器A的Nginx配置文件,内容如下:

  1. server
  2. {
  3.     listen 80;
  4.     server_name birdteam.net;
  5.     index index.php;
  6.     root /www/wwwroot/birdteam.net;
  7.     include enable-php-70.conf;
  8.     include /www/server/panel/vhost/rewrite/birdteam.net.conf;
  9.     location ~ .*.(gif|jpg|jpeg|png|bmp|swf|js|css)$
  10.     {
  11.         proxy_pass http://192.168.1.2;
  12.     }
  13. }
  • 数据调用

wp-config.php文件中

  1. define(‘DB_HOST’, ‘localhost’);

改为

  1. define(‘DB_HOST’, ‘192.168.1.2’);
  • 文件同步

将WordPress中的静态文件,扩展名为gif|jpg|jpeg|png|bmp|swf|js|css复制到服务器B对应的目录中。

数据走向

  1. 服务器组对外公布服务器A的IP地址;
  2. 客户访问服务器A的IP地址;
  3. 服务器A根据请求判断动静解析都有哪些;
  4. 根据请求本地处理动态内容,并把静态请求转发至B;
  5. 如果动态内容需要数据库的支持,则会根据指定地址,找B读取;
  6. B将静态请求、数据信息发送给A,A将所有请求整合返回给客户端。

附加内容

文件同步可使用NFS服务,或RSYNC,这样效率更高!

www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

赞(2)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » LNMP实现双主机负载均衡