这篇“CentOS基于nginx反向代理怎么实现负载均衡”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CentOS基于nginx反向代理怎么实现负载均衡”文章吧。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网络空间、营销软件、网站建设、宁德网站维护、网站推广。
nginx做负载均衡的优点:
1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比haproxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,nginx单凭这点可利用的场合就远多于lvs了
2、nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反lvs对网络稳定性依赖比较大,这点本人深有体会
3、nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。lvs的配置、测试就要花比较长的时间了,lvs对网络依赖比较大
4、可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量,负载度比lvs相对小些
注意事项:
1、不同安装方法nginx的配置文件位置不一样
2、upstream如果使用ip_hash方式,则每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
环境:
系统:centos6.6
nginx ip:192.168.20.103
web1 ip:192.168.20.193
web2 ip:192.168.20.194
一、安装nginx
两种方法,我用的是第1种
第1种 yum安装,需安装第三方yum源,因为nginx默认不在centos的yum源中 所以需更新
yum install wget #安装下载工具 wget http://www.atomicorp.com/installers/atomic #下载 sh ./atomic #安装 yum check-update #更新yum源 有的需要更新几次 才有nginx最新版本 否则是老版本nginx yum remove httpd* php* #删除系统自带的软件包 也可加MySQL*前提备份数据库 yum install nginx #安装nginx根据提示输入y进行安装 chkconfig nginx on #设置nginx开机启动 service nginx start #启动nginx 重启 restart
第2种 编译安装
wget http://nginx.org/download/nginx-1.7.8.tar.gz tar -zxvf nginx-1.7.8.tar.gz cd nginx-1.7.8 ./configure make && make install
二、修改配置文件
nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
修改 /etc/nginx/nginx.conf 增加
#负载均衡配置 upstream backend { #ip_hash; server 192.168.20.193; server 192.168.20.194; }
修改 /etc/nginx/conf.d/default.conf
location / { #设置主机头和客户端真实地址,以便服务器获取客户端真实ip proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; #禁用缓存 proxy_buffering off; #反向代理的地址 proxy_pass http://backend; root /usr/share/nginx/html; index index.html index.htm; # example #modsecurityenabled on; #modsecurityconfig /etc/nginx/modsecurity.conf; }
三、测试
第一次访问转发到193,因为 upstream默认是轮询,第二次则转发到了194
以上就是关于“CentOS基于nginx反向代理怎么实现负载均衡”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。