tomcat

简介:

java:
 编程语言:
  系统级:c ,c++,go
  应用级:c#,java,python,perl,ruby,php
   虚拟机:jvm,pvm
   动态网站:.asp .net jsp 
 
 动态网站:
  客户端动态:
  服务器动态:
   CGI
  webapp server:
   jsp:tomcat,jboss,jetty,resin
   php: php-fpm
  1995:Java 1.0 write once,run anywhere
  1996:JDK,包含一个JVM
  1997:JDK 1.1
   jar文档个数,JDBC ,JavaBeans
  1998:JDK 1.2
   Sun把Java技术拆分为三个方向:
    J2SE:Standard Edition
    J2EE:Enterprise Edition
    J2ME:Mobile Edition
   JIT编译器:Just In Time 即时编译器
  2000:JDK 1.3
   1999:HotSpot虚拟机
  2002:JDK 1.4
  2006年,SUN开源了JAVA技术; 
  虚拟机:JRockit,HostSpot
 java体惜结构:
  java编程语言:
  java class文件格式:
  java API:
  java VM:
 JVM的核心组成部分:
  class loader
  执行引擎
 java编程语言的特性:
  面向对象,多线程,结构化错误处理
  垃圾收集,支持动态链接,动态扩展

  
TOMCAT:
 核心组件:
  catalina:servlet contniner
  coyote:http connection
  jasper:JSP Engine
 目录结构
  bin:脚本及启动时用到的类
  lib:类库
  conf:配置文件
  logs:日志
  webapps:应用程序
  work:工作目录
  temp:临时文件目录

 部署后添加
  vim /etc/profile.d/java.sh
   export JAVA_HOME=/usr/java/latest
   export PATH=$JAVA_HOME/bin:$PATH
   . /etc/profile.d/java.sh
  vim /etc/profile.d/tomcat.sh
   export CATALINA_BASE=/usr/local/tomcat
   export PATH=$CATALINA_BASE/bin:$PATH
   . /etc/profile.d/tomcat.sh
 配置文件:
  server.xml:主配置文件
  context.xml:每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序
  下得WEB-INF目录,用于定义会话管理器,JDBC等,
  web.xml:每个webapp部署之后才能被访问,此文件用于为所有的webapp提供默认部署位置
  tomcat-users.xml:用户认证的账号密码配置文件;
  catalina.policy:用于实现安全运行策略
  catalina.properties:JAVA属性的定义文件,用于设定类加载器路径等,以及一些jvm调优参数
  logging.properties:日志相关的配置信息
  将源文件放到webapp里面 
 测试:jsp
  <%@ page language="java" %>
  <%@ page import="java.util.*" %>
  <html>
    <head>
      <title>jsp test page</title>
    </head>
    <body>
      <% out.println("hello,world."); %>
    </body>
  </html>
  启动,catalina start
     catalina stop
     
 访问manager app 需要配置tomcat-users.xml,然后重启启动tomcat。
     <role rolename="manager-gui"/>
  <user username="tomcat" password="tomcat" roles="manager-gui"/>
  
 启用https
  keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "/usr/local/tomcat/tomcat.keystore" 
  密钥口令:123456
  名字与姓氏:172.16.6.14
  后面的随便填写。
  vim server.xml
  注销:<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->
  添加:
   <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/tomcat/tomcat.keystore" keystorePass="123456" />
 LNMT:
 用nginx反向代理实现动静分离
  location ~* \.(jsp|do)$ {
   proxy_pass http://172.16.6.14:8080;
  }
 LAMT:
  反向代理模块:
   主:proxy_module
   子:proxy_module_http,proxy_module_ajp
   第三方模块:jk(基于ajp协议)
   


     本文转自阿伦艾弗森 51CTO博客,原文链接:http://blog.51cto.com/perper/2049700,如需转载请自行联系原作者






相关文章
|
存储 缓存 文件存储
如何保证分布式文件系统的数据一致性
分布式文件系统需要向上层应用提供透明的客户端缓存,从而缓解网络延时现象,更好地支持客户端性能水平扩展,同时也降低对文件服务器的访问压力。当考虑客户端缓存的时候,由于在客户端上引入了多个本地数据副本(Replica),就相应地需要提供客户端对数据访问的全局数据一致性。
31853 78
如何保证分布式文件系统的数据一致性
|
前端开发 容器
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局(上)
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局
17655 18
|
人工智能 负载均衡 网络性能优化
灵骏可预期网络:Built for AI Infrastructure
通用人工智能离我们越来越近,全世界的关注和投入正在带来日新“周”异的变化。回顾人工智能的诞生和发展历程,人类计算能力的进步几乎牵动了每一次的重大技术突破,当前的大模型热潮更是如此,只是动辄千万亿参数级的模型体量,所需计算资源远超单颗芯片的上限,超大规模的计算集群成为支撑技术发展和应用创新的关键基础设施。面向智能:云基础设施网络技术面临新挑战如何突破单个芯片、单个服务器节点的算力上限,在超大规模情况
31193 10
灵骏可预期网络:Built for AI Infrastructure
|
设计模式 存储 监控
设计模式(C++版)
看懂UML类图和时序图30分钟学会UML类图设计原则单一职责原则定义:单一职责原则,所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。bad case:IPhone类承担了协议管理(Dial、HangUp)、数据传送(Chat)。good case:里式替换原则定义:里氏代换原则(Liskov 
36193 19
设计模式(C++版)
|
存储 编译器 C语言
抽丝剥茧C语言(初阶 下)(下)
抽丝剥茧C语言(初阶 下)
|
机器学习/深度学习 人工智能 自然语言处理
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
24468 14
|
机器学习/深度学习 弹性计算 监控
重生之---我测阿里云U1实例(通用算力型)
阿里云产品全线降价的一力作,2023年4月阿里云推出新款通用算力型ECS云服务器Universal实例,该款服务器的真实表现如何?让我先测为敬!
36515 15
重生之---我测阿里云U1实例(通用算力型)
为笔记本更换固态硬盘的方法
本文介绍为笔记本电脑拆机、更换固态硬盘的具体方法~
18011 41
为笔记本更换固态硬盘的方法
|
SQL 存储 弹性计算
Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
存储 算法 Java
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的限流器RateLimiter功能服务
随着互联网的快速发展,越来越多的应用程序需要处理大量的请求。如果没有限制,这些请求可能会导致应用程序崩溃或变得不可用。因此,限流器是一种非常重要的技术,可以帮助应用程序控制请求的数量和速率,以保持稳定和可靠的运行。
29747 52