在Linux上使用Nginx为Solr集群做负载均衡

在Linux上搭建solr集群时需要用到负载均衡,但测试环境下没有F5 Big-IP负载均衡交换机可以用,于是先后试了weblogic的proxyserver,和Apache,效果均很差,两台服务器做了负载均衡之后并发响应速度还没单台不做负载均衡的速度快。最后使用nginx,效果很不错,下面将在Linux上安装步骤记述一下。

1        安装准备

nginx软件版本:nginx 1.2.5

安装包:rhel_nginx-1.2.5-1.el5.ngx.x86_64.rpm

操作系统:RedHat 5 64位

2        安装配置

2.1  安装nginx

使用命令

rpm -i rhel_nginx-1.2.5-1.el5.ngx.x86_64.rpm

安装

默认安装位置为:/usr/sbin/

主配置文件位置为:/etc/nginx/nginx.conf

其他配置文件位于:/etc/nginx/conf.d 目录下

2.2  配置nginx

2.2.1      配置端口

输入

vi/etc/nginx/conf.d/default.conf

打开配置文件

找到server段,修改 listen 80为需要的端口

2.2.2      配置负载均衡

输入

vi/etc/nginx/conf.d/default.conf

打开配置文件

在文件开头输入:

upstream <SPAN style="BACKGROUND-COLOR: rgb(255,255,0)">nginxproxy</SPAN>{ 
        server 192.168.1.100:7022 max_fails=3 fail_timeout=5h; 
        server 172.23.1.101:7022 max_fails=3 fail_timeout=5h; 

proxy_connect_timeout  1; 
proxy_send_timeout        300; 
proxy_read_timeout        300;

其中upstream
bslgis中的server段为需要进行负载均衡的服务器ip和端口,如果连接超过proxy_connect_timeout
设置的时间,并且超过max_fails设置的次数,就视为该服务器宕机,在fail_timeout设置的时间段内将不再访问该服务器。

找到”server{}”段内的location段配置,输入

proxy_pass http://nginxproxy;

最终location段如下:

location / { 
        root  /usr/share/nginx/html; 
        index index.html index.htm; 
        proxy_pass http://nginxproxy; 
}

完整配置文件如下:

2.3  启动nginx

启动命令:nginx 若提示找不到命令,可尝试输入完整路径:/usr/sbin/nginx

停止命令:nginx -s stop

重启:nginx -s reload

平滑变更nginx配置文件(不重启nginx)

检查配置文件是否正确:nginx -t

使用

ps -ef |grep "nginx: master" |grep -v"grep"

输出如下:

root      3735    1  008:48 ?        00:00:00 nginx: masterprocess nginx

找到nginx主进程的id号,3735

使用命令kill -HUP 3735,即可更新nginx配置

查看nginx的安装位置,

rpm -qpl nginx-1.2.5-1.el5.ngx.i386.rpm

在Linux上使用Nginx为Solr集群做负载均衡的更多相关文章

  1. Nginx实现tomcat集群进行负载均衡

    一.背景 随着业务量和用户数量的激增,单一的tomcat部署应用已经无法满足性能需求,而且对于每次发布项目期间服务不可用的问题也凸显,既然出现了这个问题,那么我们本文就借助nginx来完美的解决这个问 ...

  2. 注意这几点,轻轻松松配置 Nginx + Tomcat 的集群和负载均衡

    Tomcat 集群是当单台服务器达到性能瓶颈,通过横向扩展的方式提高整体系统性能的有效手段.Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,可以通过简单的配置实现 Tomcat 集群 ...

  3. 用Nginx搭建IIS集群实现负载均衡

    长话短说,我们用Nginx来搭建一个简单的集群,实现Web应用的负载均衡,架构图如下: 两台Web服务器,一台静态资源服务器,因为是演示,我们以网站形式部署在本机IIS中 一台Nginx代理服务器,安 ...

  4. kibana连接elasticsearch集群做负载均衡

    问题背景: 在ELK架构中,kibana一般配置连接elasticsearch的时候,配置文件中的写法一般如下: ……# The URL of the Elasticsearch instance t ...

  5. nginx给consul集群配置负载均衡

    upstream consul { server 127.0.0.1:8501; server 127.0.0.1:8502; server 127.0.0.1:8503; } server { li ...

  6. Linux - Nginx的集群与负载均衡

    Nginx的集群与负载均衡 集群就是一群人干同样的活,负载均衡就是保证每个人都干得差不多.或者大人干得多一些,小孩干得少一些. Nginx实现负载均衡很方便. 准备三台服务器,一台是用于访问图片(66 ...

  7. 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡

    分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑心中会激动一番(或许这是判断是否是一个标准阿猿的标准吧)! 首先自己从宏观把控一下,通过上网科普自 ...

  8. 架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)

    [前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式.接下来,小编就和大家一起来做个小Demo来体会一下N ...

  9. 架构之路:nginx与IIS服务器搭建集群实现负载均衡(三)

    参考网址:https://blog.csdn.net/zhanghan18333611647/article/details/50811980 [前言] 在<架构之路:nginx与IIS服务器搭 ...

随机推荐

  1. 深入理解this机制系列第二篇——this绑定优先级

    前面的话 上一篇介绍过this的绑定规则,那如果在函数的调用位置上同时存在两种以上的绑定规则应该怎么办呢?本文将介绍this绑定的优先级 显式绑定 pk 隐式绑定 显式绑定胜出 function fo ...

  2. 基于Fragment的百度地图框架的使用

    博客:http://blog.csdn.net/developer_jiangqq (一)基本介绍(Fragment和SupportMapFragment): Fragment的使用现在安卓APP开发 ...

  3. golang开发环境配置及Beego框架安装

    配置环境:Windows7推荐IDE:LiteIDEGO下载地址:http://www.golangtc.com/downloadBeego开发文档地址:http://beego.me/docs/in ...

  4. 【Android】《App研发录》总结

    说明 看这本书的时候,总感觉怪怪的. 因为在地铁上看完的,作者书中基本都是他自己工作中遇到的问题和坑,虽说这样会让人感觉找到了解决方案,可以再进行深入的研究,可是某些地方介绍的有点片面,仅仅是引用部分 ...

  5. SwitchButton 开关按钮 的多种实现方式

    刚开始接触开关样式的按钮是在IOS系统上面,它的切换以及滑动十分帅气,深入人心. 所谓的开关按钮,就是只有2个状态:on和off,下图就是系统IOS 7上开关按钮效果. 起初我在android上我只会 ...

  6. 你不知道的HttpHandler相关知识

    一.关于IHttpHandler.IsReusable 很多人不明白,这哥们到底干嘛的,估计是微软最初的一个想法--让一个对象可以一直不断地被重复使用 ,但这个想法不成熟,会带来很多隐藏问题,一个对象 ...

  7. react入门(4)

    首先还是来回顾一下前三篇讲的内容 react入门(1): jsx,组件,css写法 react入门(2):事件,this.props.children,props,...other react入门(3 ...

  8. Java动态编程初探——Javassist

    最近需要通过配置生成代码,减少重复编码和维护成本.用到了一些动态的特性,和大家分享下心得. 我们常用到的动态特性主要是反射,在运行时查找对象属性.方法,修改作用域,通过方法名称调用方法等.在线的应用不 ...

  9. 人工智能 - AI

    CNCC 2016 | 人工智能60年浪潮 (原文链接) Intelligence,智能是指生物一般性的精神能力,其三因素理论: 成分智力 Componential Intelligence:思维和对 ...

  10. PetaPoco4.0的事务为什么不会回滚

    using (var srop=DbHelper.CurrentDb.GetTransaction()) { ID = bp.AddModel(model).ToStr(); #region 参与楼盘 ...