Linux运维新手的修炼手扎之第22天

发布于:2025-07-24 ⋅ 阅读:(15) ⋅ 点赞:(0)

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 java
    java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
    #查看版本
    root@ubuntu24-13:~# java -version
    openjdk version "11.0.25" 2024-10-15
    OpenJDK 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:8080

3 tomcat反向代理
    实践:反向代理、https反向代理
    会话:绑定---负载均衡器会将同一个客户端的所有请求始终发送到同一台后端服务器ip_hash
                 session复制---当一个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


网站公告

今日签到

点亮在社区的每一天
去签到