在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. Android随笔之——Android ADB详解

    ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备.它主要有以下几个功能: 1.运 ...

  2. css3实现的动画效果

    在线演示:莲花盛开 在线演示:忙碌光标效果 在线演示:发光效果

  3. .NET Core 和 .NET Framework 之间的关系

    引用一段描述:Understanding the relationship between .NET Core and the .NET Framework. .NET Core and the .N ...

  4. Java内存模型深度解析:锁--转

    原文地址:http://www.codeceo.com/article/java-memory-5.html 锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步 ...

  5. spring控制并发数的工具类ConcurrencyThrottleSupport和ConcurrencyThrottleInterceptor

    官方文档: /** * Support class for throttling concurrent access to a specific resource. * * <p>Desi ...

  6. 如何添加并设置远程桌面(RD)授权服务器

    上一篇日志中介绍了如何将现成的远程桌面授权服务器添加到对应的远程桌面回话主机中. 本篇日志将引导您如何添加配置相应的远程桌面授权服务器,这样就可以根据所购买的授权类型和授权级别添加需要甚至" ...

  7. 深入seajs源码系列一

    简述 前端开发模块化已经是大势所趋,目前模块化的规范有很多,众所周知的有commonJS,Module/Wrappings和AMD等,而且ES6也着手开始制定模块化机制的实现.类似于c/c++的inc ...

  8. Android开发中的menu菜单

    复写onCreateOptionsMenu方法,当点击menu菜单时,调用该方法. @Override public boolean onCreateOptionsMenu(Menu menu) { ...

  9. ECMAScript 5中属性的特性值

    这是<JavaScript高级程序设计(第三版)>第六章相关内容的总结. ECMAScript中有两种属性:数据属性和访问器属性.每种属性都有四个特性值. 数据属性的四个特性值: [[Co ...

  10. 分享一个基于长连接+长轮询+原生的JS及AJAX实现的多人在线即时交流聊天室

    实现网页版的在线聊天室的方法有很多,在没有来到HTML5之前,常见的有:定时轮询.长连接+长轮询.基于第三方插件(如FLASH的Socket),而如果是HTML5,则比较简单,可以直接使用WebSoc ...