nginx 負載均衡器和高可用
Nginx
Nginx (engine x) 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。Nginx
Nginx 是一個很強大的高效能Web和反向代理伺服器,它具有很多非常優越的特性:
在連線高併發的情況下,Nginx是Apache伺服器不錯的替代品:Nginx在美國是做虛擬主機生意的老闆們經常選擇的軟體平臺之一。能夠支援高達 50,000 個併發連線數的響應,感謝Nginx為我們選擇了 epoll and kqueue作為開發模型。
Nginx作為負載均衡伺服器:Nginx 既可以在內部直接支援 Rails 和 PHP 程式對外進行服務,也可以支援作為 HTTP代理伺服器
處理靜態檔案,索引檔案以及自動索引;開啟檔案描述符緩衝。無快取的反向代理加速,簡單的負載均衡和容錯。
代理伺服器
作為郵件代理伺服器:Nginx 同時也是一個非常優秀的郵件代理伺服器(最早開發這個產品的目的之一也是作為郵件代理伺服器),Last.fm 描述了成功並且美妙的使用經驗。
Nginx 是一個安裝非常的簡單、配置檔案非常簡潔(還能夠支援perl語法)、Bug非常少的伺服器。Nginx 啟動特別容易,並且幾乎可以做到7*24不間斷執行,即使執行數個月也不需要重新啟動。你還能夠不間斷服務的情況下進行軟體版本的
一、安裝部署
1)下載解壓
tar zxf nginx-1.10.1.tar.gz
2)進行原碼安裝
Vim /mnt/nginx-1.10.1/auto/cc/gcc #設定安裝元件
./configure--prefix=/usr/local/nginx--with-http_ssl_module--with-http_stub_status_module #安裝檢查
yum install -y pcre-devel zlib-devel #將CFLAGS="$CFLAGS -g" 行註釋掉
./configure--prefix=/usr/local/nginx--with-http_ssl_module--with-http_stub_status_module
make
make install
cd /usr/local/nginx/sbin
./nginx #執行指令碼開啟服務
測試
useradd -u 800 nginx 新增nginx賬戶
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #對目錄進行軟連線
nginx -s reload #重新載入nginx
vim /etc/security/limits.conf
vim /usr/local/nginx/conf/nginx.conf #修該配置檔案
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem;
ssl_certificate_key cert.pem; #自己製作的證書名
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
製作證書
[[email protected] sbin]# cd /etc/pki/tls/certs/
[[email protected] certs]# make cert.pem
[[email protected] certs]# mv cert.pem /usr/local/nginx/conf/
[[email protected] certs]# nginx -s reload
sendfile on;
tcp_nopush on; #連線超時
tcp_nodelay on; #降低網路延時
新增監控模組
location /status{
stub_status on;
access_log off; #監控
allow 172.25.50.250; #訪問名單,此時只有250主機可以訪問
deny all;
}
server {
listen 80;
server_name www.westos.org;
location /{
root /www1; #預設釋出目錄
index index.html; #預設釋出檔案
}
}
[[email protected] certs]# nginx -s reload
[[email protected] certs]# mkdir /www1
[[email protected] certs]# cd /www1/
[[email protected] www1]# vim index.html
[[email protected] www1]# cat index.html
<hi> westos.server1</hi>
[[email protected] www1]#
設定虛擬主機
server {
listen 80;
server_name bbs.westos.org;
location /{
root /www2;
index index.html;
}
}
[[email protected] www1]# mkdir /www2
[[email protected] www1]# vim /www2/index.html
[[email protected] www1]# cat /www2/index.html
<hi>bbs.westos.com<hi/>
server {
listen 80;
server_name www.westos.org;
location /{
#root /www1;
#index index.html;
proxy_pass http://westos; #排程
}
}
http {
upstream westos { #排程地址
server 172.25.50.2:80 ;
server 172.25.50.3:80 ;
}
include mime.types;
default_type application/octet-stream;
http {
upstream westos { #排程地址
server 172.25.50.2:80 weight=2; 加權重
server 172.25.50.3:80 ;
}
http {
upstream westos { #排程地址
server 172.25.50.2:80 ;
server 172.25.50.3:80 backup; 作備用
}
Server2 http 服務關閉時
nginx 高可用
開啟新的虛擬機器server4,將server1上/usr/local/nginx 遠端複製給server4/usr/local/nginx
[[email protected] nginx]# scp -r * [email protected]:/usr/local/nginx/
[[email protected] nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[[email protected] nginx]# useradd -u 800 nginx
在server1和server4上同時執行下面操作
yum install -y ricci
passwd ricci #設定ricci 密碼,兩臺必須密碼一致
/etc/init.d/ricci restart
chkconfig ricci on
在server1上
yum install -y luci #在server1 上安裝luci管理軟體
[[email protected] ~]# /etc/init.d/luci start #啟動
chkconfig luci on #設定開機自啟動
[[email protected] ~]# /etc/init.d/luci start
Start luci... [確定]
Point your web browser to https://server1:8084 (or equivalent) to access luci
[[email protected] ~]#
在瀏覽器中輸入生成的網址進行配置
新增要管理叢集
在物理主機上安裝fence 軟體
yum install fence-virtd.x86_64 -y
yum install -y fence-virtd-multicast.x86_64
yum install -y fence-virtd-libvirt.x86_64
fence_virtd -c #建立fence
[[email protected] usr]# mkdir /etc/cluster/
[[email protected] usr]# cd /etc/cluster/
dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1 #製作鑰匙
scp fence_xvm.key [email protected]:/etc/cluster/ #將鑰匙分發給server1和server4
scp fence_xvm.key [email protected]:/etc/cluster/
在管理主機server1上測試fence效果
[[email protected] cluster]# fence_node server4
fence server4 success
在網頁圖形介面新增叢集管理
新增fence
新增uuid
設定權重
scp nginx server4:/etc/init.d/ #將啟動指令碼分發給server1和server4
在圖形介面新增啟動指令碼
設定ip
測試:
此時,服務在server4上執行
當server4上輸入[[email protected] ~]# echo c > /proc/sysrq-trigger # 故意讓系統崩潰
此時,服務轉移到server1執行,server4重新啟動,從而實現高可用
相關推薦
nginx 負載均衡器和高可用
Nginx Nginx (engine x) 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。Nginx Nginx 是一個很強大的高效能Web和反向代理伺服器,它具有很多非常優越的特性: 在連線高併發的情況下,Nginx是Apache伺
負載均衡器HAProxy,高可用集群keepalived,keepalived+lvs
BE ID log var def fall 集群 sad 查看 負載均衡器:nginx/haproxy/lvs/F5代理:正向代理:幫助客戶端緩存服務器上的數據反向代理:幫助服務器緩存數據 HAProxy:1、安裝[root@vh04 bin]# yum install
linux下 使用keepalived 實現nginx 負載均衡+主備高可用
1.什麼是負載均衡高可用 nginx作為負載均衡器,所有請求都到了nginx,可見nginx處於非常重點的位置,如果nginx伺服器宕機後端web服務將無法提供服務,影響嚴重。
Nginx負載均衡配置+keepalived高可用
1.什麼是負載均衡?隨著應用各個核心模組業務量的提高,訪問量和資料流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的伺服器裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提升時,這又將導致再一次硬體升級的高額成本投入,甚至效能再
AWS的自動部署工具codedeploy 負載均衡器和github
Elastic Load Balancing 提供了三種可用於 CodeDeploy 部署的負載均衡器:Classic Load
keepalived高可用負載均衡器
實現 sbin port iptables for epel源 物理 tcp協議 root 一、集群相關概念簡述 HA是High Available縮寫,是雙機集群系統簡稱,指高可用性集群,是保證業務連續性的有效解決方案,一般有兩個或兩個以上的節點,且分為活動節點及備用節點
負載均衡器技術Nginx和F5的優缺點對比
對於資料流量過大的網路中,往往單一裝置無法承擔,需要多臺裝置進行資料分流,而負載均衡器就是用來將資料分流到多臺裝置的一個轉發器。 目前有許多不同的負載均衡技術用以滿足不同的應用需求,如軟/硬體負載均衡、本地/全域性負載均衡、更高網路層負載均衡,以及鏈路聚合技術
負載均衡器部署方式和工作原理
硬件負載均衡 f5設備概述負載均衡(Load Balance)由於目前現有網絡的各個核心部分隨著業務量的提高,訪問量和數據流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的服務器設備根本無法承擔。在此情況下,如果扔掉現有設備去做大量的硬件升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提
公司nginx keepalived tomcat cxf 搭建高可用負載均衡實戰系列1- keepalived安裝配置
技術分享 cnblogs start ges idt def auth div .cn 1,ip說明 vip 10.50.13.67 server1 10.50.13.68 server2 10.50.13.140 2
LVS負載均衡器NAT和DR工作模式詳解
lvs 在試驗之前為了更好理解設置的參數,所以先講解一下命令。 一、lvs配置文件和命令: 程序包:ipvsadm(LVS管理工具) 配置文件:/etc/sysconfig/ipvsadm-config 【rpm -ql ipvsadm 查詢包的具體列表】 -A 在服務器列表中新添加一條新的虛擬服務
用haproxy結合keepalived實現基於LNMP的負載均衡和高可用
lnmp的負載均衡以及高可用今天我們講haproxy結合keepalived實現LNMP的負載均衡和高可用,現在的公司大部分都基於haproxy實現負載均衡。下面以一個事例去給大家詳細講解如何去實現:一、用haproxy結合keepalived實現基於lnmp的負載均衡和高可用服務,要求: (1)實現動
三大主流軟件負載均衡器對比(LVS、Nginx、HAproxy)
LVS、Nginx HAproxy LVS: 1. 抗負載能力強,性能高,能達到F5的60%,對內存和CPU資源消耗比較低 2. 工作在網絡4層,通過VRRP協議(僅作代理之用),具體的流量是由linux內核來處理,因此沒有流量的產生。 3. 穩定,可靠性高,自身有完美的熱備方案(K
DR+keepalived實現web群集的負載均衡和高可用性
Lvs-DR keepalived 我們搭建好的Lvs-DR群集是有一臺lvs調度器的,生產環境中如果調度器出現故障,整個群集將癱瘓。通過keepalived做lvs調度器的雙機熱備就可以很好的解決這個問題。keepalived采用VRRP虛擬路由冗余協議,以軟件的方式實現Linux服務器的多機熱備功
SaltStack一鍵部署負載均衡和高可用
一、負載均衡的部署 server1 haproxy (排程器) server2 nginx server3 apache 1)在server1上首先安裝salt-minion服務。並把自身新增在節點中(交換金鑰) 2)啟動serv
使用nginx作為HTTP負載均衡器
跨多個應用程式例項的負載平衡是一種常用技術,用於優化資源利用率,最大化吞吐量,減少延遲並確保容錯配置。 可以使用nginx作為非常有效的HTTP負載平衡器,將流量分配到多個應用程式伺服器,並使用nginx提高Web應用程式的效能,可伸縮性和可靠性。 負載均衡方法 nginx支援以下負載平
理解OpenShift(1):網路之 Router 和 Route Neutron 理解 (7): Neutron 是如何實現負載均衡器虛擬化的
理解OpenShift(1):網路之Router 和 Route 1. OpenShift 為什麼需要 Router 和 Route? 顧名思義,Router 是路由器,Route 是路由器中配置的路由。OpenShift 中的這兩個概念是為了解決從叢集外部(就是從除了叢集節點
使用Mycat實現Mysql資料庫的主從複製、讀寫分離、分表分庫、負載均衡和高可用
Mysql叢集搭建 使用Mycat實現Mysql資料庫的主從複製、讀寫分離、分表分庫、負載均衡和高可用(Haproxy+keepalived),總體架構: 說明:資料庫的訪問通過keepalived的虛擬IP訪問HAProxy負載均衡器,實現HAProxy的高可用,HAProxy用於實
Ceph RGW負載均衡和高可用配置
配置主要參考 (配置負載均衡有多種方法,這裡是使用keepalived 用於高可用,haproxy 用於負載均衡) 注意:負載均衡節點不能與任何RGW節點重合。 架構示意圖如下: 我的三個RGW分別為 R3S25:172.16.50.25 R3S4
RHCS叢集中nginx下的負載均衡,及高可用
一 RHCS叢集管理介紹 叢集管理器CMAN Cluster Manager,簡稱CMAN,是一個分散式叢集管理工具,它執行在叢集的各個節點上,為RHCS提供叢集管理任務。CMAN用於管理叢集成員、傳遞節點間心跳資訊。它通過監控每個節點的執行狀態來了解節點成員
F5-負載均衡器 四層和七層負載均衡的區別
簡單理解四層和七層負載均衡: ① 所謂四層就是基於IP+埠的負載均衡;七層就是基於URL等應用層資訊的負載均衡;同理,還有基於MAC地址的二層負載均衡和基於IP地址的三層負載均衡。 換句換說,二層負載均衡會通過一個虛擬MAC地址接收請求,然後再分配到真實的MAC地址;三