- 项目需求
- 项目分析
- 网络拓扑
- 设备信息
- 实施前提
- 项目实施
- 数据走向
- 附加内容
目录
项目需求
网站创建之初因访问量较少,只放置在一台服务器上。随着访问量的增加,一台服务器已无法负载,打算增加一台服务器做负载均衡。
项目分析
常见的负载均衡有两种,一种基于四层为LVS,一种基于七层为Nginx。两种负载均衡都需要三台服务器才能发挥性能,有悖于预算中的两台服务器,故打算使用动静分离加远程数据库来实现负载均衡。
网络拓扑
设备信息
- 客户端192.168.1.250,仅需要浏览器;
- 服务器A192.168.1.1,需安装Nginx+PHP,负责分发和动态文件的处理;
- 服务器B192.168.1.2,需安装Nginx+MySQL,负责静态文件处理和数据库存储。
实施前提
如上安装好对应的服务,程序以WordPress为例。
项目实施
- 动静分离
修改服务器A的Nginx配置文件,内容如下:
- server
- {
- listen 80;
- server_name birdteam.net;
- index index.php;
- root /www/wwwroot/birdteam.net;
- include enable-php-70.conf;
- include /www/server/panel/vhost/rewrite/birdteam.net.conf;
- location ~ .*.(gif|jpg|jpeg|png|bmp|swf|js|css)$
- {
- proxy_pass http://192.168.1.2;
- }
- }
- 数据调用
wp-config.php文件中
- define(‘DB_HOST’, ‘localhost’);
改为
- define(‘DB_HOST’, ‘192.168.1.2’);
- 文件同步
将WordPress中的静态文件,扩展名为gif|jpg|jpeg|png|bmp|swf|js|css复制到服务器B对应的目录中。
数据走向
- 服务器组对外公布服务器A的IP地址;
- 客户访问服务器A的IP地址;
- 服务器A根据请求判断动静解析都有哪些;
- 根据请求本地处理动态内容,并把静态请求转发至B;
- 如果动态内容需要数据库的支持,则会根据指定地址,找B读取;
- B将静态请求、数据信息发送给A,A将所有请求整合返回给客户端。
附加内容
文件同步可使用NFS服务,或RSYNC,这样效率更高!
www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top