实现haproxy+LNMT负载均衡架构

来源:互联网 发布:淘宝怎么修改差评? 编辑:程序博客网 时间:2024/06/05 15:13

一、架构

主机 IP1 IP2 作用 haproxy 172.17.17.173 192.168.17.173 负载均衡nginx:80 nginx1 192.168.17.174 负载均衡tomcat:8080 nginx2 192.168.17.175 负载均衡tomcat:8080 tomcat1 192.168.17.174 提供web服务 tomcat2 192.168.17.175 提供web服务 mysql 192.168.16.173 提供mysql服务

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

1.haproxy配置文件

vim   /etc/haproxy/haproxy.cfgglobal    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/statsdefaults    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                 3000frontend static        mode http         bind 172.17.17.173:80        default_backend server_nginxbackend 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 5listen 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.confuser 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代码实现

原创粉丝点击