CentOS基于nginx反向代理怎么实现负载均衡

发布时间 - 2023-05-18 00:00:00    点击率:

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  # 后端  # 访客  # 负载均衡  # 比较大  # 配置文件  # 的是  # 客户端  # 就能  # 则是  # 两种 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  简历没回改:利用AI润色让你的文字更专业  免费视频制作网站,更新又快又好的免费电影网站?  如何批量查询域名的建站时间记录?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  如何快速打造个性化非模板自助建站?  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Python图片处理进阶教程_Pillow滤镜与图像增强  进行网站优化必须要坚持的四大原则  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  如何在Tomcat中配置并部署网站项目?  如何快速搭建高效香港服务器网站?  Laravel Docker环境搭建教程_Laravel Sail使用指南  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  如何在IIS中新建站点并配置端口与物理路径?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  googleplay官方入口在哪里_Google Play官方商店快速入口指南  独立制作一个网站多少钱,建立网站需要花多少钱?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  如何快速生成专业多端适配建站电话?  Laravel如何使用Service Container和依赖注入?(代码示例)  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  WEB开发之注册页面验证码倒计时代码的实现  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  如何用西部建站助手快速创建专业网站?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  实例解析angularjs的filter过滤器  如何破解联通资金短缺导致的基站建设难题?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  Laravel Session怎么存储_Laravel Session驱动配置详解  iOS中将个别页面强制横屏其他页面竖屏  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  javascript中对象的定义、使用以及对象和原型链操作小结  Mybatis 中的insertOrUpdate操作  Laravel怎么调用外部API_Laravel Http Client客户端使用  佛山网站制作系统,佛山企业变更地址网上办理步骤?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  html5audio标签播放结束怎么触发事件_onended回调方法【教程】