多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > keepalived+nginx高可用環境搭建

keepalived+nginx高可用環境搭建

來源:程序員人生   發布時間:2015-01-04 09:22:20 閱讀次數:4670次

高可用方案其實很多,而且有很多本錢是非常低和簡單的。比如你如果有1個網站,高可用最簡單的就是nds+nginx+兩臺機器。

我們由因而客戶的1個項目,dns申請是非常麻煩的,所以才斟酌用keepalived+nginx做高可用方案。

從網上整理了HA經常使用組合。
heartbeat v2+crm
heartbeat v3+pacemaker
corosync+pacemaker
cman + rgmanager
keepalived+lvs。

這里我們沒有用lvs,而是直接用了nginx,感覺就兩臺機器,所以也沒有必要弄的太復雜。而且也能滿足要求。

安裝前的計劃,這個我認為還是比較重要的,我們就是之前沒有好好計劃,現在感覺比較亂,而且客戶升級也很麻煩。1堆的流程。

我們系統是java開發的,所以用了tomcat進行后臺的解析。

首先是目錄計劃,比如tomcat放在甚么地方,靜態文件放在甚么地方。1般來講有nginx后靜態文件由nginx去解析,可以分擔tomcat的很多壓力。

nginx安裝前準備,由于nginx安裝還是比較簡單的,但是有個問題就是nginx有很多插件,這些插件是不是需要安裝需要研究1下。由于nginx對回話處理不是太好,所以我們這邊需要添加1個會話保持的插件,其他插件建議不要安裝太多,畢竟穩定和效力是第1的,非官方的插件就怕有問題,到時候找都不好找。

依賴yum -y install gcc  pcre-devel kernel-devel 

yum install openssl-* -y 剩下的就看提示,沒有就安裝1下。

下面就是安裝:

tar -zxvf nginx⑴.7.9.tar.gz
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=../nginx-stick 
 make 
 make install

這里里面用了1個stick回話保持的插件,下載地址為,這個有時候不太好找,基本上都是google服務器上的,沒有辦法下載。

https://github.com/ezbake/nginx-sticky-module

安裝keepalived:

tar -zxvf keepalived⑴.1.20.tar.gz 
ln -s /usr/src/kernels/2.6.9⑺8.EL-i686/usr/src//linux
./configure make make install
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived   /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/                           
cp /usr/local/sbin/keepalived /usr/sbin/
設置為服務,開機啟動
vi /etc/rc.local 
/etc/init.d/keepalived start

兩個軟件啟動和停止。

service keepalived start/stop

./nginx -s stop
./nginx -c /usr/local/nginx/conf/nginx.conf

keepalived配置:

global_defs { 
router_id LVS_DEVEL    //負載均衡器標識,同1網段內,可以相同 

vrrp_instance VI_1 {    //定義vrrp實例 
state MASTER        //主LVS是MASTER,從的BACKUP 
interface eth0      //LVS監控的網絡接口 
virtual_router_id 51  //同1實例下virtual_router_id必須相同 
priority 100            //定義優先級,數字越大,優先級越高 
advert_int 5          //MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒 
authentication {      //驗證類型和密碼 
auth_type PASS 
auth_pass 1111

virtual_ipaddress {    //虛擬IP 
192.168.1.8


我認為其他的東西主要和負載均衡lvs相干,由于nginx已代替了lvs的作用所以都去掉了。

nginx主要配置以下:

#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  secisland  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
    gzip_min_length     1000;
    gzip_types      text/plain text/css application/x-javascript;
    upstream tomcat{
          sticky;
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
    }
    server {
        listen       80;
        server_name  localhost;
        access_log  logs/secisland.log  secisland;
        location /nginx_status {
            stub_status on;
            access_log off;
        }
         location ~ .(htm|html|gif|jpg|jpeg|png|ico|rar|css|js|zip|txt|flv|swf|doc|ppt|xls|pdf)$ {
             root /opt/tomcat1/webapps/ROOT;
              access_log off;
             expires 24h;
         }
        location / {
              proxy_pass http://tomcat;
            #root   /root/html;
            index  index.html index.htm index.jsp;
        }

基本上就完成了keepalived+nginx+tomcat的負載配置,在第1臺機器可以配置ngix到第2臺tomcat的轉發,這個就利用nginx的能力進行了負載均衡的處理,當第1臺機器掛了keepalived會把動態ip切換到第2臺機器上,實現了雙機高可用。

這里有個問題就是當nginx掛了的時候,keepalived其實不知道服務不可用,所以還回繼續提供服務,但這個時候已不起作用了。

所以需要添加1個守護進程,當nginx掛的時候把keepalived也觀殺掉,當進程啟動的時候也啟動keepalived。

可以在crontab里面設置30秒檢測1次,也就是當nginx掛的時候最長時間會延遲310秒切換。

*:30 * * * *  /opt/nginx_pid.sh

#!/bin/bash 
# varsion 1.0
A=`ps -C nginx --no-header |wc -l`   
B=`ps -C keepalived --no-header |wc -l`           
if [ $A -eq 0 ];then                      
#       /usr/local/nginx/sbin/nginx
       sleep 1
       if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
             killall keepalived          
       fi   
elif [ $B -eq 0 ];then                      
        /etc/rc.d/init.d/keepalived start
fi 

最后別忘了腳本要加上可履行的權限,不然不會履行。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕免费视频精品一 | 性一交一乱一伦一色一情 | 国产成人综合亚洲欧美天堂 | 欧美在线一区二区三区不卡 | 久久久成人网 | 亚洲三级中文字幕 | 国产精品反差婊在线观看 | 欧美人成人亚洲专区中文字幕 | 国产一区二区免费不卡在线播放 | 欧美大片a一级毛片视频 | 福利精品一区 | 久久久影院亚洲精品 | 在线观看亚洲视频 | 国产高清在线精品一区 | freexxx性欧美hd男 | 午夜欧美精品久久久久久久久 | 国产精品福利社 | 最近中文字幕免费版在线 | 亚洲a在线观看 | 三级理论中文字幕在线播放 | 99久久精品免费看国产漫画 | 一本之道免费视频 | 亚洲最大的黄色网 | 国产女人在线视频 | 久久精品国产久精国产 | free性欧美69式 | 欧美亚洲777 | 亚洲图片天堂 | 色老成人精品视频在线观看 | 久久精品免看国产成 | 在线免费视频 | 日本欧美午夜 | 国产欧美日韩高清专区手机版 | 欧美成人a视频 | 成年视频xxxxx在线网站 | 地址一地址二地址三 | 日本一区二区三区有限公司 | 亚洲精品久久久久久下一站 | 欧美高清成人videosex | 欧美一级乱妇老太婆特黄 | 影视精品网站入口 |