实现haproxy+LNMT负载均衡架构

一、架构

主机IP1IP2作用
haproxy172.17.17.173192.168.17.173负载均衡nginx:80
nginx1192.168.17.174负载均衡tomcat:8080
nginx2192.168.17.175负载均衡tomcat:8080
tomcat1192.168.17.174提供web服务
tomcat2192.168.17.175提供web服务
mysql192.168.16.173提供mysql服务

二、haproxy——>nginx(1,2)

1.haproxy配置文件

vim   /etc/haproxy/haproxy.cfg
global
    log         127.0.0.1 local2
    nbproc      1
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    stats socket /var/lib/haproxy/stats

defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
frontend static
        mode http 
        bind 172.17.17.173:80
        default_backend server_nginx
backend server_nginx
        balance     roundrobin
        option  httpchk  GET /index.jsp
        server  static_175  192.168.17.175:6000 check inter 2000 rise 3 fall 5
        server  static_174  192.168.17.174:6000 check inter 2000 rise 3 fall 5
listen stats 
        mode http 
        bind 192.168.17.173:1900 
        stats enable 
        stats hide-version 
        stats uri /haproxy?111 
        stats realm Haproxy\ Statistics 
        stats auth admin:admin
        stats admin if TRUE 

三、nginx(1,2)——tomcat(1,2)

1.nginx负载tomcat

使用upstream&proxy_pass 匹配location进行负载均衡

vim   /etc/nginx/nginx.conf

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

/usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;

upstream  web_tomcat{
server 192.168.17.174:8080 weight=5;
server 192.168.17.175:8080 weight=10;
}
    server {
        listen       192.168.17.174:80 default_server;
        server_name  _;
        index index.jsp index.html;
        # Load configuration files for the default server block.

        location / {
        proxy_pass http://web_tomcat;
        }

        location ~*.(jsp|do) {
        index index.jsp index.do;
        proxy_pass http://web_tomcat;
        }
    }
}

四、部署tomcat

1.安装jdk

yum install java-1.8.0-openjdk

2.安装tomcat

tomcat使用yum安装还需要安装admin、manager等包,所以直接使用二进制安装
tomcat二进制安装链接密码:ktlx

3.定义java、jre、等变量

vim     /etc/profile.d/java.sh 

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/
    export JRE_HOME=$JAVA_HOME/jre
    export CATAlINA_BASE=/usr/local/tomcat
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$CATAlINA_BASE/bin:$PATH

4.启动tomcat

source /etc/profile.d/java.sh 
cacatalina.sh start

五、部署mariadb-server

数据库安装,与数据库之间的链接需要java代码实现

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值