Tomcat部署C语言项目,Tomcat的简单介绍

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

Tomcat是Apache软件基金会属下Jakarta项目开发的Servlet容器,提供了作为Web服务器的一些特有功能。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。但是,不能将Tomcat和Apache HTTP服务器混淆,Apache HTTP服务器是用C语言实现的HTTPWeb服务器。

tomcat原理图

首先看一下tomcat内部原理图

796b79c5d09ed0e1fe5cefbd9f1904c5.png

在图中显示connector和container是核心组件,接下来说明一下这辆组件的核心作用connector组件的作用接收客户端的连接

加工处理客户端请求container组件的作用处理请求的容器

Contain下容器从大到小分别为Engine,Host,Context,Wrapper,从左到右容器的关系是一对多的关系

5160922306ee25ad6d249c2234f0efe5.png

上图为tomcat处理http的请求流程图,下面解析一下处理的过程客户端发送请求,然后被端口为8080,协议是HTTP/1.1的coyote的连接器监听到

connector将请求发送到下属的container处理,并且等待回应

container根据请求的域名,匹配对应的host,然后将请求交给对应的host处理

context根据请求的path路径,寻找到对应的工程,然后将请求交给context

context中根据请求找到相应的servlet类,交由其处理

构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用相应的servlet类的doGet和doPost方法

context把执行完之后的HttpServletResponse对象返回给host

host把HttpServletResponse对象返回给engine

engine把HttpServletResponse对象返回给connector

HttpServletResponse对象返回给客户端

340f95a4dc4a3745038778efdcd7147b.png

上图为tomcat内部文件图,我们来解析一下这些文件夹的用处:bin:tomcat下的各种命令

conf:各种配置文件,典型的有server.xml,是tomcat的体系结构,在tomcat启动时构建tomcat容器

lib:tomcat和工程需要的jar包

logs:存放tomcat运行时的各种日志文件,比图catalina文件里时控制台输出的信息

temp:用户运行tomcat时产生的临时文件,删去无影响

webapps:存放工程文件,在该文件夹下的ROOT文件夹存放的是各种静态文件,可以ip+端口/文件名称直接访问

work:tomcat运行时编译后的文件

tomcat的配置

端口修改1

2

3

4

5

6

7

8

9

10

内存信息修改1

2

3

4

5

6

7

8#内存信息可以配置在tomcat下的bin/catalina.sh中,写在第二行

# -server可以在多个cpu下性能得到更好的发挥

# -Xms256m java heap的初始大小,一般为物理内存的1/64

# -Xmx512m java heap的最大值,不要超过物理内存

# -XX:MetaspaceSize=128m 初始元空间大小,默认为21m

# -XX:MaxMetaspaceSize=256m 最大的元空间大小

JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"

热部署:不重启tomcat的情况下,将应用部署到tomcat中直接将war包放入webapps中,就能直接访问1

2

3

4

5

6

7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值