Tomcat服务1 java项目部署方式:war包部署、jar包部署、源代码部署2 Ubuntu环境部署Java - openjdk[熟练]:#安装软件root@ubuntu24-13:~# apt update; apt list openjdk*root@ubuntu24-13:~# apt install openjdk-11-jdk -y#检测效果root@ubuntu24-13:~# whereis javajava: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz#查看版本root@ubuntu24-13:~# java -versionopenjdk version "11.0.25" 2024-10-15OpenJDK Runtime Environment (build 11.0.25+9-post-Ubuntu-1ubuntu124.04)OpenJDK 64-Bit Server VM (build 11.0.25+9-post-Ubuntu-1ubuntu124.04, mixed mode, sharing)#java命令的实际可执行文件路径是/usr/lib/jvm/java-11-openjdk-amd64/bin/java[用whereis java ll路径]Ubuntu安装Tomcat10[熟练]:前提环境:#安装好java环境:apt install openjdk-11-jdk -y#检测版本:java -version部署tomcat:#查看软件:apt list tomcat*#安装tomcat:apt install tomcat10 -y#检测服务状态:systemctl is-active tomcat10.service#检测端口:netstat -tnulp | grep java#查看进程:ps aux | grep tomcat#浏览器访问:10.0.0.13:80803 tomcat反向代理实践:反向代理、https反向代理会话:绑定---负载均衡器会将同一个客户端的所有请求始终发送到同一台后端服务器ip_hashsession复制---当一个Tomcat服务器上的session发生变化时,会将这个session的变化信息同步复制到集群中的其他Tomcat服务器上,客户端的请求可以被负载均衡器转发到集群中的任意一台服务器,因为每台服务器都拥有完整且基本一致的Session数据副本。 session共享---将Session数据存储在独立的共享存储系统中,如 Redis、Memcached等分布式缓存,所有服务器都从共享存储中读取和写入Session数据,无论客户端请求被转发到哪台服务器,服务器都通过特定的接口或客户端库从共享存储中获取Session信息,处理完成后再将更新后的Session数据写回共享存储 4 jvm优化jvm结构:共享区域[方法区、堆区]、私有区域、类加载器、本地方法接口、JIT编译器 优化关注带点:STW-中断应用线程1 STW次数越少越好2 STW的持续时长越短越好 落脚点:堆区区域划分:老年代、年轻代[伊甸区、S1、S0]划分方式:jvm 选项参数 -Xmx(最大堆内存) -Xms(初始堆内存) 垃圾回收;回收算法技术角度:标记清除、标记整理、标记复制 实施角度:年轻代类-[标记-复制算法为主]、老年代类-[标记-整理/标记-清除为主]、混合类-[G1]选择参数:-XX:+Use算法名GC