在linux上使用nginx为solr集群做负载均衡

搭建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 nginxproxy{
        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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值