首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tomcat集群及负载均衡

Tomcat集群及负载均衡

原创
作者头像
风起--追风
修改2021-11-10 15:22:57
6890
修改2021-11-10 15:22:57
举报
文章被收录于专栏:sql与spec性能sql与spec性能

1.tomcat的定义

tomcat服务器是轻量级的Web应用服务器,普遍适用于中小型企业,免费开源。

除了能够处理html的静态页面,它还支持着serverlet和JSP的规范

serverlet:交互式浏览和修改数据,生成动态的Web页面--java语言实现的接口

2.tomcat的搭建

  • 将预先下载好jdk解压,并更名为jdk,移动到/usr/local/目录下

tar -zxf jdk-8u181-linux-x64.tar.gz

mv jdk-1.8.0_181 jdk

mv jdk /usr/local

配置jdk环境变量

vim /etc/profile

写入如下:JAVA_HOME=/usr/local/jdk

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=$JAVA_HOME/jre/lib/txt:$JAVA_HOME/lib/tools.jar

export JAVA_HOME PATH CLASSPATH

然后生效source /etc/profile

java -version #查看是否安装成功

  • 将预先下载好的tomcat包解压,并更名为tomcat,移动到/usr/local/目录下

tar -zxf apache-tomcat-9.0.54 (2).tar.gz

mv apache-tomcat-9.0.54 tomcat

mv tomcat /usr/local

  • 在一步虚拟机上部署多个tomcat,可以利用cp,并修改默认的8080端口号

tomcat三个端口的作用,8005:SHUTDOWN--关闭时使用

8009:AJP端口,容器使用

8080:应用

cp tomcat tomcat1

cp tomcat tomcat2

sed -i 's#8080#8081#g' /usr/local/tomcat1

sed -i 's#8005#8006#g' /usr/local/tomcat1

sed -i 's#8009#8010#g' /usr/local/tomcat1

sed -i 's#8080#8082#g' /usr/local/tomcat2

sed -i 's#8005#8007#g' /usr.local/tomcat2

sed -i 's#8009#8011#g' /usr/local/tomcat2

  • 对以上端口进行开放

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --zone=public --add-port=8081/tcp --permanent

firewall-cmd --zone=public --add-port=8082/tcp --permanent

firewall-cmd --reload

  • 启动tomcat,tomcat1,2并在网页上验证

以tomcat1位例 cd /usr/local/tomcat/bin/ ./startup.sh

ss -ltnp | grep java #查询tomcat运行

2.Nginx负载均衡

现在的网络应用由传统的C/S转为B/S架构,为了更好提升用户的体验,需要对系统集群进行优化,负载均衡器对请求通过某种算法进行分发,使server服务器能够协同一致,作为一个整体对外部请求进行处理,大大提升了系统的稳定以及性能。

常见的负载均衡实现方式有硬件如F5,软件(LVS,Nginx,haproxy)

软件负载均衡分为四层和七层,四层在前段与后端间相当于是路由的角色,处理转发更高效;七层更加的智能化,安全性高,性能受限。

说了这么多的废话,我们开始吧!

nginx源码包安装

tar xf nginx-1.20.1.tar.gz

cd nginx-1.20.1

groupadd nginx

useradd -s /sbin/nologin nginx -g nginx

yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

./configure --prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-pcre \

--with-http_stub_status_module \

--with-http_ssl_module \

--with-http_gzip_static_module

make && make install

./nginx -v #在sbin下,查看nginx是否安装成功,若没有则删除重新编译

安装好, 设置环境变量

ln -s /usr/local/nginx/sbin/nginx /usr/sbin

设置nginx启动脚本

vim /etc/init.d/nginx

#!/bin/bash

# chkconfig: - 99 20

PROG="/usr/local/nginx/sbin/nginx"

PIDF="/usr/local/nginx/logs/nginx.pid"

case "$1" in

start)

$PROG

;;

stop)

kill -s QUIT $(cat $PIDF)

;;

restart)

$0 stop

$0 start

;;

reload)

kill -s HUP $(cat $PIDF)

;;

*)

echo "USAGE:$0 {start | stop | restart | reload}"

exit 1

esac

配置

cd /usr/local/nginx/conf

vim nginx.conf

由于我的80端口被占用,故改为8090,常见默认是80端口;在之后的测试中需要在域名后加上端口号才可以访问

nginx -t

service nginx reload

登入进行测试如下

nginx默认的算法是轮训,采用权重可以来进行分配,查看logs可以看到已经生效

期间若是提示nginx.pid丢失

可以pkill -9 nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

service nginx reload

查询http可用端口semanager port -l | grep http

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.tomcat的定义
  • 2.Nginx负载均衡
    • 说了这么多的废话,我们开始吧!
      • nginx源码包安装
        • 配置
        相关产品与服务
        负载均衡
        负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档