在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. MVC4做网站后台:用户管理 ——用户组 2、查看、修改、删除用户组

    查看用户组资料和修改用户组资料结合在一起,在用户组列表双击查看用户组资料,修改资料点保存可以保存用户组,点删除可以删除用户组. 先在UserGroupController中添加 action publ ...

  2. Html标签的语义化

    为了使我们的网站更好的被搜索引擎抓取收录,更自然的获得更高的流量,网站标签的语义化就显得尤为重要.所谓标签语义化,就是指标签的含义. 为了更好的理解标签的语义化,先看下面这个例子: 1 <tab ...

  3. 窥探Swift之类的继承与类的访问权限

    上一篇博客<窥探Swift之别具一格的Struct和Class>的博客可谓是给Swift中的类开了个头.关于类的内容还有很多,今天就来搞一下类中的继承以及类的访问权限.说到类的继承,接触过 ...

  4. vmware安装win7提示No CD-ROM drive to use:GCDROM not loaded

    今天安装win7 64位的操作系统到vmware虚拟机,以为一切事如此的简单,因为自己以前经常拿vmware来装系统,结果确出现下面莫名其妙的错误: 提示说没有CD-ROM,可是我明明在vmware的 ...

  5. 如何 判断 设备 是否 连接 上 了 wifi

    这里,我给出一个函数 public boolean sale_connect_check(WifiConfiguration wcg,Context context) { boolean judge_ ...

  6. HTML5 视频(一)

    HTML5 提供了展示视频的标准 今天,大多数视频是通过插件(比如 Flash)来显示的.然而,并非所有浏览器都拥有同样的插件. HTML5 规定了一种通过 video 元素来包含视频的标准方法. 一 ...

  7. PowerDesigner生成Access数据库

    1.打开PowerDesigner,设置PowerDesigner的当前数据库为Access: 2.在PowerDesigner中新建表结构(物理模型): 3.PowerDesigner菜单中:Dat ...

  8. “全能”选手—Django 1.10文档中文版Part2

    第一部分传送门 第三部分传送门 第四部分传送门 3.2 模型和数据库Models and databases 3.2.2 查询操作making queries 3.3.8 会话sessions 目录 ...

  9. ros::spin() 和 ros::spinOnce() 区别及详解

    版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5925381.html 博主提示:本文基于ROS Kinetic Kame,如有更(g ...

  10. asp.net mvc4 添加分区出现错误 找到多个与名为“home”的控制器匹配的类型

    会出现如下错误”找到多个与名为“home”的控制器匹配的类型“   在RouteConfig文件中添加命名空间可解决   routes.MapRoute(                 name: ...