所谓负载均衡就是把一个活分给多个人来干,但对下任务的人是透明的,我们访问的天猫肯定不止一台服务器,但对我来说都是www.tmall.com,一下就是在本地搭建一个负载均衡样例的过程
前提条件:两台机器,地址能相互ping通,192.168.3.222和192.168.3.112
安装好Nginx服务器,并能访问首页
两台机器上各自启动一个Tomcat作为负载的目的服务器
把首页内容改一下(主要为了区分后面访问的服务器不同)
在**apache-tomcat-7.0.84\webapps\ROOT**
目录下删除index.jsp,新建一个index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>122</title>
</head>
<body>
<p>192.168.3.122</p>
</body>
</html>
用浏览器访问192.168.3.222的Tomcat地址效果
用浏览器访问192.168.3.112的Tomcat地址效果
进入Nginx安装目录的
/usr/local/nginx/conf
新建一个配置文件
touch fzjh.conf
编辑这个配置文件
vi fzjh.conf
添加如下内容
#申明用户
user nobody;
#开启Nginx进程个数
worker_processes 4;
events{
worker_connections 1024;
}
http{
upstream myproject {
#负载均衡的目的服务器地址,和访问权重
server 192.168.3.222:8080 weight=1;
server 192.168.3.112:8080 weight=1;
}
server {
listen 8089;
#即所有请求都到这里去找分配
location / {
#使用myproject分配规则,即刚自定义添加的upstream节点
proxy_pass http://myproject;
}
}
}
然后保存退出
wq!
切换目录到
/usr/local/nginx/sbin
退出Nginx服务准备重启
./nginx -s quit
重启Nginx并加载我们的配置文件
./nginx -c /usr/local/nginx/conf/fzjh.conf
访问咱们Nginx的地址和监听 的端口8089
刷新一下
它会在两个服务器之间来回切换,说明负载均衡成功
注:监听的端口要开放
#开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
#重启防火墙
firewall-cmd --reload