keepalived+nginx+tomcat搭建高性能web服务器集群
admin
2023-03-22 23:01:16
0

使用keepalived+nginx+tomcat搭建高性能web服务器集群,前端用nginx做反向代理实现负载均衡,同时结合keepalived对nginx实现高可用,后端使用tomcat做动态jsp解析,实现了动静分离。

(本文永久地址:http://woymk.blog.51cto.com/10000269/1928716)

keepalived+nginx+tomcat搭建高性能web服务器集群

搭建环境:centos 6.9

准备四台服务器 
vip: 192.168.75.130
master: 192.168.75.131 (安装nginx做反向代理实现负载匀衡,结合keepalived实现高可用)
backup: 192.168.75.132 (同上)
web1: 192.168.75.151 (安装nginx和tomcat实现动静分离)
web2: 192.168.75.152 (同上)
这里为节省服务器,nginx和tomcat装在了一台服务上,也可以分开配置。


配置步骤如下:

1. 安装nginx、tomcat软件

四台服务器分别安装好nginx
安装方法参见:LNMP环境搭建


web1,web2上分别安装好tomcat

安装方法参见:Tomcat8.5的安装配置

web1, web2上分别启动nginx和tomcat
service nginx start
service tomcat start


2. 在master和backup上配置nginx

vi /usr/local/nginx/conf/nginx.conf

加入或修改以下内容:

    upstream web_nginx {
        server 192.168.75.151;
        server 192.168.75.152;
    }

    upstream web_tomcat {

        #ip_hash;

        server 192.168.75.151:8080;
        server 192.168.75.152:8080;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass      http://web_nginx/;
            proxy_set_header Host   $host;
            proxy_set_header X-Real-IP      $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location ~ \.jsp$ {
            proxy_pass   http://web_tomcat/;
        }

    }

分别在master和backup上启动nginx服务

service nginx start


3. 配置keepalived

在master和backup上分别安装keepalived
yum install -y keepalived


1) 配置master
vi /etc/keepalived/keepalived.conf
清空原文,加入如下内容:
! Configuration File for keepalived

global_defs {
   notification_email {
     #acassen@firewall.loc
     #failover@firewall.loc
     #sysadmin@firewall.loc
   }
   #notification_email_from Alexandre.Cassen@firewall.loc
   #smtp_server 192.168.200.1
   #smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script chk_http_port {
    script "    interval 1
    weight -2
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.75.130
    }
    track_script {
        chk_http_port
    }
}


2) 配置backup
scp 192.168.75.131:/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

vi /etc/keepalived/keepalived.conf
backup的配置文件只需要修改
state MASTER  -> state BACKUP
priority 100 -> priority 99


最后,分别在master和backup上启动keepalived服务,先主后备
/etc/init.d/keepalived start


4. 测试:

在master上停止nginx服务

[root@master ~]# /etc/init.d/nginx stop
停止 nginx:                                               [确定]

在backup上查看日志

[root@backup ~]# tail -f /var/log/messages

May 23 17:21:33 backup Keepalived_vrrp[1818]: VRRP_Instance(VI_1) forcing a new MASTER election
May 23 17:21:33 backup Keepalived_vrrp[1818]: VRRP_Instance(VI_1) forcing a new MASTER election
May 23 17:21:34 backup Keepalived_vrrp[1818]: VRRP_Instance(VI_1) Transition to MASTER STATE
May 23 17:21:35 backup Keepalived_vrrp[1818]: VRRP_Instance(VI_1) Entering MASTER STATE
May 23 17:21:35 backup Keepalived_vrrp[1818]: VRRP_Instance(VI_1) setting protocol VIPs.
May 23 17:21:35 backup Keepalived_vrrp[1818]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.75.130
May 23 17:21:35 backup Keepalived_healthcheckers[1817]: Netlink reflector reports IP 192.168.75.130 added
May 23 17:21:40 backup Keepalived_vrrp[1818]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.75.130

日志显示已经成功切换到备用节点上。


[root@backup ~]# curl 192.168.75.130 -I
HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Tue, 23 May 2017 09:34:21 GMT
Content-Type: text/html
Content-Length: 616
Connection: keep-alive
Last-Modified: Mon, 22 May 2017 10:28:07 GMT
ETag: "5922bd37-268"
Accept-Ranges: bytes

master停掉后,用curl访问web服务,一切正常。


相关内容

热门资讯

榴莲商家千里维权,“仅退款”不... 近日,一则“河南商家驱车1600公里赴山东寻找‘仅退款’买家”的消息,引发社会关注。买家被行政拘留5...
原创 魏... 懦夫一生数死,丈夫只死一遭。莎士比亚的这句名言犹如利刃,直刺人心。他用极为尖锐的语言提醒我们:真正的...
三星的撤退与进击 文 | 华商韬略 苏州工业园。 这片土地,承载着三星在中国制造业版图中最具象征意义的记忆。 三十多...
利好!AI、算力,大消息! 重点关注 近日,国家发展改革委主任郑栅洁赴上海人工智能实验室,专题调研人工智能发展情况。 国家网信办...
原创 这... 在繁忙的都市生活中,我们常常被压力和疲惫所困扰。然而,有一种植物,它以其古朴、典雅的姿态,静静地绽放...
两台Figure AI人形机器... IT之家 5 月 9 日消息,当地时间 5 月 8 日,Figure AI 公布了一段视频:两台人形...
首款,成功研制!我国“太极计划... 记者5月9日从中国科学院力学研究所获悉,我国空间引力波探测“太极计划”核心测量系统研制工作取得重要进...
DeepSeek狂融500亿,... 梁文锋终于想通了。 过去一直拒绝融资,但现在则放开手脚。 最新市场消息显示,DeepSeek计划融资...
阿联酋称拦截伊朗导弹和无人机 新华社阿布扎比5月10日电 阿联酋国防部10日称,阿联酋防空部队拦截了来自伊朗的弹道导弹、巡航导弹及...
俄总统助理:美特使或近期访俄继... △俄罗斯总统助理乌沙科夫(资料图)当地时间5月10日,俄罗斯总统助理乌沙科夫在当日播出的一档节目中表...