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



在linux上使用nginx为solr集群做负载均衡
 
搭建solr集群时需要用到负载均衡
 
但测试环境下没有F5 Big-IP负载均衡交换机可以用
  www.2cto.com  
于是先后试了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
 
使用命令
 
[plain] 
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  配置端口
 
输入
 
[plain] 
vi/etc/nginx/conf.d/default.conf   
打开配置文件
 
找到server段,修改 listen 80为需要的端口
 
2.2.2  配置负载均衡
 
输入
 
[plain] 
vi/etc/nginx/conf.d/default.conf   
 
打开配置文件
在文件开头输入:
 
[plain] 
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段如下:
 
[html] 
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
 
使用
 
[plain] 
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的安装位置,
[plain] 
rpm -qpl nginx-1.2.5-1.el5.ngx.i386.rpm 
 

相关内容

    暂无相关文章