linux学习

通过Nignx实现负载均衡

2018-12-04  本文已影响27人  iXiAo9
请准备3台Centos系统的服务器

我将开启三台服务器用于演示
1台为Nginx负载均衡服务器
172.18.27.141
2台为后端的web服务器
172.18.27.150
172.18.27.140

关闭所有iptables防火墙,以及selinux。

172.18.27.141  (nginx)
172.18.27.150    (apache)
172.18.27.140    (apache)

我们先编译安装nginx

172.18.27.141上操作
上传nginx源码包,你可以使用yum来安装它。

下载编译器以及扩展包

yum install -y gcc gcc-c++ pcre-devel openssl-devel zlib-devel

pcre : Nginx的rewrite模块和HTTP核心模块会用到PCRE正则表达式语法

zlib : 适用于数据压缩的函式库

openssl : 若服务器提供安全网页(https:/./)时,会用到OpenSSL库

解压gz格式

其他格式请百度
tar -zxf nginx-1.11.2.tar.gz

安装nginx

./configure --prefix=/usr/local/nginx
检测编译环境
make
编译
make install
编译安装
如有报错请检查pcre-devel是否安装成功!

启动nginx

/usr/local/nginx/sbin/nginx

使用ss命令查看服务器web服务是否存活
ss -tnl
查看80端口是否存在

2台为后端的web服务器

172.18.27.150
172.18.27.140
两台web服务器安装apache
yum install -y httpd

172.18.27.150上操作

修改httpd默认页面
vim /var/www/html/index.html
httpd默认网站存储路径/var/www/html/
里面随便写些东西一会用于区分
我写入的是web1
启动httpd
service httpd start

172.18.27.150上操作

修改httpd默认页面
vim /var/www/html/index.html
httpd默认网站存储路径/var/www/html/
写入web2
启动httpd
service httpd start

这两台服务器web服务器就不用管了
两台防火墙和selinux都是关闭的

使用ss命令查看服务器web服务是否存活
ss -tnl
查看80端口是否存在

最终两台apache效果

最终效果

负载均衡

检查是否正常
-----------------
172.18.27.141  (nginx)
172.18.27.150    (apache)
172.18.27.140    (apache)

接下来我们开始折腾负载均衡

在Nginx中定义负载均衡服务器组,权重为1:1

定义负载均衡服务器组

红框内是添加内容配置文件格式请不要忘记

改配置文件前请先备份,养成良好习惯!

cp nginx.conf nginx.conf.back

    upstream webs{          #定义组名为webs
    server 172.18.27.150 weight=1;    #server空格后填写服务器1的ip地址
    server 172.18.27.140 weight=1;    #weight为权重
    }

如果你不懂权重请把

 server 172.18.27.140 weight=1;

改为

server 172.18.27.140 weight=2;

等下结果出来你就知道效果了

重启nginx即可

访问nginx即可172.18.27.141

最终效果

多刷新几次,如果两个权重都设置为1的话,每次刷新页面都不一样!

上一篇 下一篇

猜你喜欢

热点阅读