在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
轉載于:https://www.cnblogs.com/chinway/p/6187292.html
總結
以上是生活随笔為你收集整理的在Linux上使用Nginx为Solr集群做负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS和OC交互的简单应用
- 下一篇: 专家支招:如何利用Plesk搭建完美全能