Nginx负载均衡案例
nginx吧
全部回复
仅看楼主
level 1
深蓝0028 楼主
nginx负载均衡案例
nginx作为后端HTTP服务器外,它还是一个高性能的方向代理服务器,在负载均衡的架构中,NGinx可以为我们提供7层的负载解决方案 。目前国内的新浪,网易等均部署了Nginx实现七层的负载均衡功能。
为了实现nginx的反向代理以及负载均衡的功能,我们需要用到HTTPProxyMoudle和httpupstreammodule模块。HTTPProxyMoudle的作用是将用户的请求转发到其他的服务器,httpupstreammodule的作用是提供简单的负载均衡技术例如(最少连接,客户端ip,轮询)。
案例
NGINX反向代理负载均衡括扑结构图如下图所示 服务器网络参数如下面表格所示,案例中采用upstream定义一组服务器,使用proxy_pass进行转发。
服务器名称 网络配置
nginx.aisky.cc eh0:10.10.10 eh1:192.168.0.254
web1.aisky.cc eh0:192.168.0.1
web2.aisky.cc eh0:192.168.0.2
web3.aisky.cc eh0:192.168.0.3
client.aisky.cc eh0:10.10.10.100
三台web服务器采用相同的设置 下面我以web1.aisky.cc 为例
[root@centos6~]# vim/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eh0"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR="192.168.0.1"
PREFIX="24"
GATEWAY="192.168.0.254"
TYPE="Ethernet"
[root@web1~] # serice betwork reatart
[root@web1~] # yum -y install httpd
[root@web1~] # echo "192.168.0.1">/var/www/html/index.html
[root@web1~] # service iptable stop
NGINX 代理设置
[root@nginx~]# vim/etc/sysconfig/network-scripts/ifcfg-etho
EVICE="eh0"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR="10.10.10.10"
PREFIX="8"
TYPE="Ethernet"
[root@nginx~]# vim/etc/sysconfig/network-scripts/ifcfg-eth1
EVICE="eh0"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR="192.168.0.254"
PREFIX="8"
TYPE="Ethernet"
[root@nginx~]# serivce network restart
[root@nginx~]# serivce iptable stop
[root@cnginx~]# wget http://nginx.prg/download/nginx-1.4.0.tar.gz
解压下载文件
[root@centos 6~]# tar -xzf nginx-1.9.0.tar.gz -c /usr/src/
[root@centos 6~]# yum -y install gcc pcre pcre-devel openssl \
>openssl-devel gd gddevel perl perl-ExtUtils-Embed
[root@centos 6~]# cd /usr/src/nginx-1.9.0
[root@centos 6 nginx1.9.0]# ./configure prefix=/usr/local/nginx \
>- -with-ipv6 \
支持HTTPS/ssl
>- - with-http_ssl_module \
>- -with-http_realip_module \
>--with-http_addition_module \
>--with-http_dav_module \
支持flash视频
>--with-http_flv_module \
支持mp4
>--with-http_mp4_module \
开启gzip压缩
>--with-http_gzip_static_module \
>--with-http_perl_module \
>--with-http_mail \
支持SSL/TLS加密邮件协议
>--with-http_mail_ssl_module \
[root@centos 6 nginx1.9.0 ]# make && make install
#ip_hash 采用ip哈希之确保相同ip的客户端使用相同的后端服务器,不用该参数调度器将采用轮询的方式进行转发
......省略nginx的配置
[root@nginx~] #eho ''/usr/local/nginx/sbin/nginx" >>/etc/rc.local
配置客户端的ip为10.10.10.100,通过浏览器打开10.10.10.100可以web1.aisky.cc 和web2.aisky.ccd的页面。
原文地址:http://aisky.cc/linuxBasics/65.html
2016年02月25日 03点02分 1
1