nginxの+ keepalivedの高可用性を実現するケース

宿題:
スプリットブレインどのようなものです:アクセスすることはできませんどのようにつながる、両側にその膝、およびリソースに互いのサーバーだと思います。
。1、NFS DRBD +ビート+
2、+ nginxの高可用性keepalivedの
実験:nginxの+ keepalivedの高可用性
1は、4台の仮想マシン、2つのtomcatに、2 nginxの準備
2を、同じ2つのTomcatの設定、テストページは、
JDKにインストールされ
ます。[root @ localhostの〜]#8u191タール-XF-LinuxのJDKを-x64.tar.gz
[ルート@ localhostの〜]#音楽ビデオjdk1.8.0_191は/ usr / local / Javaの
[ルート@ localhostの〜]#VI / etc / profileを
最後に追加された
輸出JAVA_HOME =は/ usr / local / Javaの
輸出PATH PATHの$ = $ JAVA_HOME / binに
[ルート@ localhostの〜]#ソースは/ etc / profile
Tomcatを取り付ける
[ルート@ localhostの〜]#タール-XFのApache Tomcat-8.5.16.tar.gz
[ルート@ localhostの〜]#音楽ビデオTomcatの-8.5.16-のApacheは/ usr / local / Tomcatの
[ルート@ localhostの〜]#/usr/local/tomcat/bin/startup.sh
tomcat1テストページ:
[ルート@ localhostの〜]#エコー"111111">は/ usr /local/tomcat/webapps/ROOT/index.jsp
TOMCAT2测试页:
[ルート@ localhostの〜]#エコー「222222」> /usr/local/tomcat/webapps/ROOT/index.jsp
 
2、两台nginxの配置完全相同
[ルート@ localhostの〜]#タールXF XF nginx- 1.15.9.tar.gz -Cは/ usr / src
[ルート@ localhostの〜]#のCDの/usr/src/nginx-1.15.9
[ルート@ localhostの〜]#は./configure --prefix =は/ usr / local / nginxの--user = nginxの--group = nginxの--with-FILE-AIO --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module --with-PCRE
[ルート@ localhostの〜]# LN -sは/ usr / local / nginxの/ sbinに/ nginxのは/ usr / local / binに
[ルート@ localhostの〜]#nginxの
[ルート@ localhostの〜]#viの/usr/local/nginx/conf/nginx.confの
ユーザーnginxのnginxの;
1 worker_processes;
error_logのログ/ error.logに。
PIDログ/ nginx.pid。
イベント{
    使用するファイルディスクリプタ。
    worker_connections 1024;
}
HTTP {
    のmime.typesを含みます。
    default_type application / octet-streamと;
    LOG_FORMATメイン'REMOTE_ADDR $ - $ REMOTE_USER [$ time_local] "$依頼"'
                      '$ステータスの$ body_bytes_sent "$ HTTP_REFERER"'
                      ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"';
    access_logのログ/ access.logをメイン;
    sendfile;
    keepalive_timeout 65;
    上のgzip圧縮;
    上流tomcat_server {
        サーバー192.168.200.112:8080重量= 1。
        サーバ192.168.200.113:8080重量= 1。


        192.168.200.254:80を聞きます。
        サーバー名はlocalhost。
        文字セットUTF-8;
        access_logのログ/ host.access.logメイン。
        位置/ {
            ルートHTML。
            インデックスのindex.html index.htmのindex.jspを。
            proxy_passます。http:// tomcat_server。
            proxy_set_headerホスト$ HTTP_HOST。
        }
    }
}
[ルート@ localhostの〜]#killallを-9 nginxの
[ルート@ localhostの〜]#nginxの
 
4、keepalivedの配置
[ルート@ localhostの〜]#yumを-yインストールkeepalivedの
[ルート@ localhostの〜]#VIの/ etc / keepalivedの/keepalived.conf
keepalivedのための設定ファイル
global_defs {
   {notification_email
     [email protected]
   }
   notification_email_from [email protected]
   SMTP_SERVER 192.168.200.1
   smtp_connect_timeout 30
   LVS_DEVELのROUTER_ID
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chk_http_port {#nginxの検出サービスが実行されています。などのプロセス、スクリプトテスト、など多くの方法がある
    スクリプト「/root/nginx.sh」#スクリプトを監視することにより、ここで
    2秒ごとの間隔2#検知一旦
    検出障害の原因となるスクリプトの重量-5#優先度変更(スクリプトその後、リターンゼロでない)優先-5
    二つの連続障害が真の故障を決定すると考えられる#2検出秋。それは重量と優先順位(1〜255)を削減します
    成功した場合1#1の検出に成功しても立ち上がり。しかし、優先順位の変更はありません
}
 
{vrrp_instanceのVI_1を
    BACKUP状態の
    インターフェースens32は
    51であるvirtual_router_id
    優先90
    advert_int。1つの
    認証{
        AUTH_TYPE PASS
        AUTH_PASS 1111
    }
    virtual_ipaddress {
        192.168.200.254
    }
track_script {#が監視行うサービス。
   chk_http_port#が名前のvrrp_script一部に指定されたVRRPスクリプトを引用しました。
}
}
 
検出nginxのスクリプト
#/ binに/ bashの!
カウンター= $(PS -C nginxの--no-見出し| WC -l)
[ "$ {}カウンタ" = "0"] IF;その後
    は/ usr / local / nginxの/ sbinに/ nginxの
    SLEEP 2
    カウンタ= $(PS -C nginxの--no-見出し| WC -l)
    もし[ "$ {カウンタ}" = "0"]。その後、
        systemctl停止keepalivedの
    Fi回線
Fiの
[ルート@ localhostの〜]#chmodの+ X /root/nginx.sh
[ルート@ localhostの〜]#systemctl再起動keeplived

おすすめ

転載: www.cnblogs.com/elin989898/p/11943692.html
おすすめ