1,首先介绍一下相关概念
服务器集群:不同作用的服务器的集合,每个服务器各司其职,可以解决实际网站运营中,出现的大流量、大并发的问题。提高网站的可用性和稳定性
整个服务器集群较为复杂,本篇文章只讨论其中的负载均衡部分,这个架构至少需要用到三台电脑(服务器)
其中负载均衡服务器用的是linux上的Nginx,其他两台web服务器没有要求wamp或者lamp或者lnmp都可以,
我这里用的是mac+apache+php和linux+apache+php,其中负载均衡服务器和lamp服务器是我用虚拟机安装的
简单示意图如下,
用户的请求发到负载均衡服务器,负载均衡服务器不做解析,直接按照设置的web服务器权重,决定将请求分发给哪台web服务器
2,下面来安装Nginx,以Linux系统为例,
这里已经下载好安装包,需要的可以下载http://pan.baidu.com/s/1o8LsqWM,下载完成可以用FileZilla上传到/root/data目录
其中nginx-1.11.3.tar.gz是nginx安装包,install_nginx.sh是为了方便提前写好的安装脚本,感兴趣的可以打开看一下
使用命令cd /root/data进入文件所在目录,
使用命令chmod +x install_nginx.sh修改文件权限
使用命令./install_nginx.sh命令安装nginx
如果只是想看个效果,其实只装这一个软件就已经OK了,只是只能用html静态页面演示,不能用php脚本
安装完成使用命令/usr/local/nginx/sbin/nginx启动nginx,浏览器输入主机ip查看到以下页面说明安装成功,其他两台服务器可以用同样的方法安装
如果用同样方法安装另外两台作为web服务器,最好修改下/usr/local/nginx/html/index.html文件,区别开两台电脑
或者使用其他已经安装好的服务器,只要能用localhost或ip直接访问到就行
如果之前没有安装过php依赖可以跳过下面这一步,直接执行第3步
至于编译方式安装软件和依赖,以后有空再写篇文章介绍
还有一个pcre-8.39.tar.gz是nginx解析php需要的正则依赖,
install_php-nginx.sh是写好的重装php的命令,其中涉及到的依赖要提前装好,不会装的可以百度,或者等我下次文章
还有php-5.4.45.tar.gz是php的安装包
3,下面配置负载均衡,配置文件目录为/usr/local/nginx/conf/nginx.conf
修改nginx主配置文件,可以使用FileZilla等工具修改,添加一下设置
upstream web{
#两个web服务器,记得修改成自己的测试ip地址
server 192.168.127.41 weight=1 max_fails=3 fail_timeout=20s;
server 192.168.127.121 weight=1 max_fails=3 fail_timeout=20s;
}
server{
listen 80;
server_name www.upstream.com;
location /{
proxy_pass http://web;
}
}
其中upstream段为请求分发设置,weight为权重,权重越大被分配到的概率越大,max_fails为最大失败次数,超过则表示这个web服务器宕机,不再分发请求给他
server段为一个虚拟主机,修改后使用命令/usr/local/nginx/sbin/nginx -s reload重新加载nginx
然后在作为用户电脑的主机上给www.upstream.com增加一条解析,指向负载均衡服务器主机ip