Hacklink panel

Hacklink Panel

Hacklink panel

Hacklink

Hacklink panel

Backlink paketleri

Hacklink Panel

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Illuminati

Hacklink

Hacklink Panel

Hacklink

Hacklink Panel

Hacklink panel

Hacklink Panel

Hacklink

Masal oku

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Masal Oku

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink Panel

Hacklink

Hacklink

Hacklink

Buy Hacklink

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Masal Oku

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink Panel

Postegro

royalbet

deneme bonusu ver3n siteler

Hacklink panel

cratosroyalbet

sezarcasino

grandpashabet

pulibet güncel

vdcasino

betebet

Hacklink satın al

Hacklink

pulibet güncel giriş

pulibet giriş

casibom

casibom

casibom

casibom

casibom

casibom

casibom

casibom

adapazarı escort

antalya dedektör

jojobet

jojobet giriş

casibom

casibom giriş

casibom

casibom

sapanca escort

deneme bonusu

betathome

betathome eingang

betathome login

piabellacasino

kingroyal

kingroyal güncel giriş

kingroyal giriş

kingroyal giriş

jojobet

jojobet giriş

Grandpashabet

INterbahis

AGB99

Agb99

taraftarium24

meritking

izmir escort

matbet

kingroyal

porno

sakarya escort

Hacking forum

Deneme Bonusu Veren Siteler

google

kingroyal

king royal giriş

kingroyal güncel giriş

king royal

mariobet

ikimisli

marsbahis

imajbet

bahsegel

deneme bonusu

imajbet

mariobet

marsbahis

imajbet

kingroyal

casibom

casibom

tlcasino

tambet

İkimisli

casibom

×

1.动静分离-单台节点

1.1接入nginx

1)webapps下特殊的ROOT目录

2)lnmt(tomcat)

3)精确控制修改权限

  • (ngx处理用户请求是nginx虚拟用户,而下方目录/文件其他人位置没有读取权限)
# chmod -R 755 /app/tools/tomcat 这样修改不安全,文件也会是755(加了执行权限)
find /app/tools/tomcat/webapps/ -type f |xargs chmod 644  #文件权限644
find /app/tools/tomcat/webapps/ -type d |xargs chmod 755  #目录权限755

4)数据库链接

1.2集群模式(7)

  • 全流程准备
  • db,nfs01
  • web03,web04(jdk+tomcat+zrlog(ROOT ROOT.war))
  • lb01,lb02
  • keepalived
  • 测试
  • war包本质是压缩包.zip

2.tomcat配置与使用

2.1tomcat配置文件

1. <Server port="8005" shutdown="SHUTDOWN">
tomcat 关闭端口,telnet连接127.0.0.1 8005,输入SHUTDOWN,tomcat关闭了(没端口,有进程(先pkill掉,再启动))。8005默认本地连接

2. <Listener....>
加载的一些插件

3.Service部分中的<connector>  http区域
<Connector port="8080" protocol="HTTP/1.1"  #协议版本
               connectionTimeout="20000"  #超时时间-毫秒
               redirectPort="8443"   #tomcat配置https
               maxParameterCount="1000"
               />

4. <Engine name="Catalina" defaultHost="localhost">  defaultHost类似于ngx中defalut_server指定默认站点
defaultHost="localhost" 域名(在Host区域)

5. <Host></Host>部分  类似于ngx中server{}部分 一个站点.
tomcat与nginx对比tomcatnginx
web端口Connector=8080listen 80/443
站点/虚拟主机<Host></Host>部分server{}部分
域名name=”localhost”server_name
站点目录(相对于Tomcat目录)appBase=”webapps”root
自动解压(war包解压目录) zip压缩包unpackWARs=”true”
自动部署(解压后加载到jvm中)autoDeploy=”true”

2.2配置tomcat访问日志格式

说明tomcatnginx
定义访问日志的格式Host部分的pattern定义http区域log_format部分
客户端ip地址%h$remote_addr
访问的时间%t$local_time
请求起始行(请求方法,URI,HTTP)%r$request
状态码%s$status
大小%b$body_bytes_sent
从哪里跳转来的(用户如何访问网站)%{Referer}i 新增$http_referer
客户端类型,浏览器%{User-Agent}i 新增$http_user_agent
XFF头记录%{X-Forwarded-For}i 新增$http_x_forwarded_for
&quot 双引号
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               #未来开头写站点域名 .log结尾
               prefix="localhost_access" suffix=".log"
           pattern="%h %l %u %t &quot;%r&quot; %s %b &quot;%{Referer}i&quot; 
        &quot;%{User-Agent}i&quot; &quot;%{X-Forwarded-For}i&quot;" />

3.tomcat处理用户请求流程

3.1请求入口

  • 请求入口:Connector(对应nginx的listen端口)
  • 配置文件位置:<Connector>标签定义在server.xml文件的<Service>内。
  • 功能:
  • 监听指定端口(如 80/443)和协议(HTTP/1.1 AJP HTTP/2)
  • 接收客户端请求,处理协议解析(如HTTP报文解析)
  • 支持SSL配置(通过SSLEnabledkeystoreFile等参数)
  • 与nginx对比
  • 类似ngx的listen 80listen 443 ssl配置
  • 一个<Service>可以包含多个<Connector>,类似ngx的多个server监听不同端口

3.2请求分发

  • 请求分发:Engine(对应nginx的http全局区域)
  • 配置文件位置:<Engine>标签定义在<Service>内,包裹在<Connector>之后
  • 功能
  • 作为请求处理的全局容器,管理多个虚拟主机(<Host>)
  • 通过defaultHost属性指定默认虚拟主机(类似nginx的default_server)
  • 与nginx对比
  • 类似于ngx的http{…}块, 是所有站点配置的入口
  • 内容:<Engine name="Catalina" defaultHost="localhost">

3.3虚拟主机匹配

  • 虚拟主机匹配:Host(对应nginx的server块)
  • 配置文件位置:<Host>标签定义在<Engine>内。
  • 功能:
  • 根据域名(name属性) 匹配请求的Host
  • 管理多个Web应用(<Context>),每个应用对应一个URL路径
  • nginx对比
  • 类似于ngx的server{listen 80; server_name example.com; ...}
  • name属性对应ngx的server_name

3.4应用路径匹配

  • 应用路径匹配:Context(对应nginx的location规则)
  • 配置文件位置:<Context>标签可以定义在<Host>内,或通过web.xml隐式配置。
  • 功能
  • 通过path属性匹配URL路径,将请求路由到具体的Web应用
  • 指定应用资源路径(docBase属性,类似ngx的rootalias)
  • nginx对比
  • 类似于ngx的location /app {...}
  • 默认的ROOT应用对应path="",处理根路径请求。

3.5请求处理链

  • 请求处理链:Valve(类似于nginx的中间件模块)
  • 配置文件位置:<Valve>标签可以定义在<Engine><Host><Context>内。
  • 功能
  • 实现请求处理链的扩展逻辑(如日志记录,ip过滤,权限控制)
  • 支持自定义Valve组件
  • nginx对比
  • 类似于ngx的access_logauth_request模块。

3.6完整请求处理流程

1.连接建立

  • 用户通过浏览器访问,请求到达tomcat的Connector(监听8080端口)

2.协议处理

  • Connector解析HTTP协议,生成Request和Response对象

3.虚拟主机匹配

  • 请求被传递到Engine,根据Host头匹配<Host name="www.example.com">

4.应用路径路由

  • 在匹配的Host中,根据URL路径/api/data查找<Context path="/api">,定位到/data/webapps/api目录下的应用。

5.Servlet处理

  • 应用内部的web.xml或注解配置的Servlet根据剩余路径/data处理请求。

6.响应返回

  • 处理结果通过Connector返回客户端。

3.7关键配置文件对比总结

Tomcat 组件Nginx对应结构功能描述
<Connector>listen 80定义端口和协议
<Engine>http {}全局请求处理容器
<Host>server {….}基于域名的虚拟主机配置
<Context>location /pathURL 路径与应用映射
<Valve>access_log 等模块请求处理链的扩展逻辑
  • 通过理解server.xml的层级结构,可以清晰掌握Tomcat的请求路由逻辑,其设计思想与nginx的模块化配置有异曲同工之妙。

4.tomcat多实例

  • tomcat/mysql会用到多实例
  • 同1台机器运行多个相同的服务tomcat
  • 服务器配置非常高 4颗cpu 32核心 64线程 内存2TB 固态硬盘 U2接口 100T
  • 降低配置
  • 使用虚拟化(创建虚拟机)
  • 服务的多实例(二进制安装,编译安装软件,容器docker运行)
  • 注意事项(实现多实例流程与要求):
  • 1️⃣同1个服务部署多次/拥有不同的目录
  • 2️⃣避免端口冲突
  • 3️⃣代码支持(同一份代码在同一机器可运行多份)
  • 4️⃣可以通过容器化运行,避免以上问题

5.tomcat监控

  • java-11-openjdk-devel软件包包含了jps,jstack,jmap等命令
  • jps:java ps 命令只显示java进程 == ps -ef |grep java
  • jstack:Java进程的线程信息
  • jmap:jvm信息
#1.jps
jps -lvm
显示详细一些(含jps进程自己),根据业务名字(jar包名字过滤,目录名字,产品名字)

#2.jstack 进程 线程
进程: 一个命令,软件,服务运行起来后 占用资源,内存--->厂房
线程: 处理请求,干活  Threads--->工人

1.进程启动(支持多线程)--进程线程一起存在,该软件支持多线程技术(ps aux中的l)
2.进程占用资源,内存
3.资源给线程,线程干活,处理用户请求

ps aux  #看进程有L标记 线程的意思
查看具体线程信息
top -p pid -H 显示线程信息
pstree -p
ps -efL

#jstack pid(进程id)
jstack   56979|grep -i thread.state
过滤进程中线程状态.
正常状态:RUNNABLE WAITING    blocked阻塞(io)

java进程中线程的状态,每种状态数量.
jstack   56979|grep -i thread.state |awk '{print $2}'|sort |uniq -c


#3.jmap 
1)导出指定进程的jvm(java虚拟机)的使用情况信息
 jmap  -heap  56979 #pid 导出jvm信息 使用率,未来用于自定义监控. jdk8及之前可以这样写
 
 jhsdb jmap  --heap   --pid  70308   #jdk8之后要这样写
 
2)保存jvm文件(类似于蓝屏) 然后使用MA T(分析  Memory Analysis Tools)
 交给第三方工具去分析文件
 #导出jvm内存数据到文件中
 jmap -dump:format=b,file=/root/56979.hprof  56979  #b 二进制文件 file指定文件存放位置(以.hprof结尾利于MA软件识别)

 #通过MA工具分析(内存分析工具)  Memory Ana--->java
 windows安装jdk,然后运行MA工具
 本质:从linux导出的jvm,在windows下创建了个jvm环境,把jvm导进去

5.1小结

  • jps:java进程信息
  • jstack:看指定java进程的线程信息,一般关注state部分–>blocked(堵塞)
  • jmap:看jvm信息,导出jvm数据(jvm内存镜像)
  • mat工具 (桌面)分析

5.2线程的一些状态

线程状态描述
NEW线程已创建但尚未启动(未调用start()方法)
RUNNABLE线程正在运行或准备运行,等待CPU调度
BLOCKED类似于进程中的D状态,线程被阻塞,要占io,io已经被占满了,不给用,等待获取监视器锁(例如: 进入同步块或方法)
WAITING线程无限期等待,直到被其他线程显示唤醒(例如: 调用Object.wait()
TIMED_WAITING线程在指定时间内等待(例如: 调用Thread.sleep()Object.wait(timeout))
TERMINATED线程已执行完毕,终止状态。

6.系统负载高-完整排查流程

  • 先排查与解决故障
  • w,uptime,top,pidstat 1 3(每个进程占cpu(用户态,系统态),io情况,1: 1秒更新1次,此刻正在占用cpu指标的进程,显示3次)
  • cat /proc/进程号(pid)/io 过滤此io中进程分别读/写了多少字节。proc下以数字命名的是进程
  • iotop -o 本质就是读取/proc/进程号/io中的信息
  • 后续:
  • 根因分析
  • 故障现象
  • 故障排查流程
  • 故障如何解决
  • 预防故障

7.zrlog集群模式(动静分离)

7.1环境准备

角色说明
lb01,lb02+keepalivedhosts 域名解析至vip
web03,web04挂载attached目录web03处理动态,web04处理静态
db01
nfs01共享/nfs/zrlog目录。实时同步备份至backup节点
backup增加模块和目录,修改所有者,重启服务

7.2具体实现

[root@nfs01 ~]# showmount -e
Export list for nfs01:
/nfs/zrlog  172.16.1.0/24
/nfs/kodbox 172.16.1.0/24
/nfs/blog   172.16.1.0/24
[root@nfs01 ~]# ll -d /nfs/zrlog/
drwxr-xr-x 3 www www 19 11月  4 17:53 /nfs/zrlog/
[root@nfs01 ~]# systemctl reload nfs

#客户端web03,web04进行挂载测试.先mv移走attached目录,再创建attached目录,挂载好,把内容移回来,测试成功永久挂载
mount -t nfs nfs01:/nfs/zrlog   /app/tools/tomcat/webapps/ROOT/attached/ 

实时同步lsyncd服务
#1.增加以下模块(主要改监控目录和目标目录)
sync {
    default.rsync,
    source    = "/nfs/zrlog",
    target    = "rsync_backup@172.16.1.41::nfsbackup_zrlog",
    delay     = 5,
    delete    = true,
    rsync     = {
        binary   = "/usr/bin/rsync",
        archive  = true,
        compress = true,
        password_file = "/etc/rsync.client"
    }
}
#2.重启lsyncd
systemctl restart  lsyncd.service
#1.在/etc/rsyncd.conf配置文件增加以下模块

[nfsbackup_kodbox]

comment = www by cui 18:00 2025-11-1 path = /nfsbackup_kodbox #2.创建模块对应的目录并修改所有者为www #3.重启rsyncd服务 systemctl restart rsyncd.service

总结

  • zrlog集群模式(必会)
  • zrlog动静分离
  • 动静分离(代码中分为动态资源,静态资源)—>专业—>前后端分离
  • 部署halo站点–jdk17
  • 故障案例: 系统负载高排查流程-java
  • tomcat配置文件, 多实例,日志格式

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

作者

2632782425@qq.com

相关文章

helm入门

1.1helm概述 1)什么是helm? 2...

读出全部

k8s部署医疗服务

1)编写资源清单并提交到gitee 2)je...

读出全部

hpa实战

1.部署修仙业务,要求副本数量为1;2.使用...

读出全部
romabetmegabahissonbahissonbahis girişbetvolebetvole girişmarsbahismarsbahis girişcasibomcasibom girişcasibom güncel girişcasibomcasibom girişcasibom güncel girişmarsbahismarsbahis girişizmir escortbetvolebetvole girişbetvole güncel girişbetvolebetvole girişbetvole güncel girişhacklink satın al