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


    在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

  • 相关阅读:
    windows相关命令记录
    使用addviewController()实现无业务逻辑跳转
    eclipse实用快捷键
    spring注解的相关配置
    day15-python-函数参数、名称空间、作用域
    day14-python-函数参数
    day13-seek、文件修改、函数及其参数
    day12-python-文件读取模式,文件指针移动
    day11-python-文件基础操作
    Ubuntu 更新软件的命令
  • 原文地址:https://www.cnblogs.com/chinway/p/6187292.html
Copyright © 2020-2023  润新知