tomcat

概念

tomcat和php一样,都是用来处理动态页面的

tomcat也可以作为web应用服务器,开源的

tomcat是用java代码写的程序,运行的是java的web应用程序

tomcat的特点和功能:

特点

1、servle容器:执行java servlet ,服务端的java程序,处理客户端的http请求,以及响应

2、jsp容器:javasever page,这是一种动态页面的技术,可以在html的页面里面嵌入java代码

3、自己也是一个http服务器

4、tomcat是一个轻量级的动态页面处理程序,高并发场景不使用。

serviet:

是java语言当中用于开发web应用程序的关键组件

作用

处理http请求,生成动态内容以及响应客户端的请求

处理http请求

生成动态内容

处理java的业务逻辑

会话管理,保持用户的状态信息,用户登录等等

也可以转发nginx的动态请求到数据库

jsp:

web应用程序的界面,这个界面的语言是用java实现的。以.jsp为结尾的文件

主要功能

优化,tomcat自身的优化,以及系统的内核优化,jvm优化

tomcat的组件:

connector:负责对外接收和响应请求,它是tomcat于客户端沟通的一个枢纽,监听端口接收外界请求。端口8080

接收到了请求之后,传递给其他组件进行处理,处理完成之后回到connector,再响应客户端

cintainer:负责处理业务逻辑,engine host context wrapper四个功能做出

engine:用来管理多个虚拟主机,一个tomcat里面只能有一个engine

host:一个host就是一个主机,也可以叫站点,通过配置host,可以添加多个站点,一个engine可以有多个host

context:一个context代表一个web应用

wrapper:封装瓶,负责处理最底层的逻辑

service:对外提供外部服务,包含connector和container

tomcat可以有多个service,每个service之间是相互独立的

逻辑流程

tomcat目录的作用:

1、bin 存放启动和关闭tomcat脚本的文件,stare.sh shutdow.sh

2、conf存放tomcat的主配置文件,server.xml主配置文件

context.xml:host的默认配置信息

tomcat-user.xml :登录时认证用户和密码的相关信息,manager文件必须要赋权修改后才能打开

lib:tomcat运行时需要的jar包,一般不动

logs:日志文件,catalina.out 主日志文件

temp:存放tomcat运行时产生的文件

webapps:部署web应用的目录,类似于nginx的html

安装步骤

1.先安装java环境

2.添加识别java的配置文件

vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

3.重启配置source /etc/profile.d/java.sh

4.解压tomcat

tar -xf apache-tomcat-9.0.16.tar.gz

mv apache-tomcat-9.0.16 tomcat

mv tomcat /usr/local

5.启动tomcat

cd //usr/local/tomcat/bin

./startup.sh启动tomcat

查看端口启动netstat -antp | grep 8080

访问192.168.233.40:8080

打开manager app(主机管理器)页面

1. cd /usr/local/tomcat/webapps/manager/META-INF

2. vim context.xml

3.在conf,tomcat-users.xml中,添加账户密码

cd /usr/local/tomcat/

cd conf/

vim tomcat-users.xml

<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

4.cd //usr/local/tomcat/bin

./stutdown.sh

./startup.sh

netstat -antp | grep 8080

访问192.168.233.40:8080点击tomcat输入账号密码tomcat

配置tomcat的虚拟主机

1.创建xy102和benet 项目目录和文件

mkdir /usr/local/tomcat/webapps/xy102

mkdir /usr/local/tomcat/webapps/benet

echo "this is xy102 page\!" > /usr/local/tomcat/webapps/xy102/index.jsp

echo "this is benet page\!" > /usr/local/tomcat/webapps/benet/index.jsp

2、conf server.xml中配置:

148行 host 默认主机删除

   重新添加host

<Host name="www.xy102.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context docBase="/usr/local/tomcat/webapps/xy102" path="" reloadable="true" />
</Host>   

<Host name="www.benet.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context docBase="/usr/local/tomcat/webapps/benet" path="" reloadable="true" />
</Host>

3、开启关闭Tomcat:

cd //usr/local/tomcat/bin

./shutdown.sh 关闭

/startup.sh 开启

每次重启之后都要检查端口8080

netstat -antp | grep 8080

端口没起,重启

4、vim /etc/hosts做映射

实现结果:

相关推荐

  1. Tomcat

    2024-07-15 19:06:01       45 阅读
  2. <span style='color:red;'>Tomcat</span>

    Tomcat

    2024-07-15 19:06:01      42 阅读
  3. <span style='color:red;'>Tomcat</span>

    Tomcat

    2024-07-15 19:06:01      47 阅读
  4. Tomcat

    2024-07-15 19:06:01       57 阅读
  5. <span style='color:red;'>Tomcat</span>

    Tomcat

    2024-07-15 19:06:01      48 阅读
  6. <span style='color:red;'>Tomcat</span>

    Tomcat

    2024-07-15 19:06:01      52 阅读
  7. Tomcat

    2024-07-15 19:06:01       52 阅读
  8. <span style='color:red;'>tomcat</span>

    tomcat

    2024-07-15 19:06:01      39 阅读
  9. <span style='color:red;'>Tomcat</span>

    Tomcat

    2024-07-15 19:06:01      43 阅读
  10. <span style='color:red;'>Tomcat</span>

    Tomcat

    2024-07-15 19:06:01      35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 19:06:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 19:06:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 19:06:01       58 阅读
  4. Python语言-面向对象

    2024-07-15 19:06:01       69 阅读

热门阅读

  1. C++ STL中的std::remove_if 的用法详解

    2024-07-15 19:06:01       21 阅读
  2. iOS ------ ARC的工作原理

    2024-07-15 19:06:01       22 阅读
  3. Photoshop中的前景色和背景色

    2024-07-15 19:06:01       18 阅读
  4. [终端安全]-8 隐私保护和隐私计算技术

    2024-07-15 19:06:01       19 阅读
  5. Go协程与通道的综合应用问题

    2024-07-15 19:06:01       23 阅读
  6. 【ROS2】测试

    2024-07-15 19:06:01       21 阅读
  7. 「Conda」在Linux系统中安装Conda环境管理器

    2024-07-15 19:06:01       18 阅读
  8. Python学习的第一天7.15

    2024-07-15 19:06:01       24 阅读
  9. 动态内存管理(C)

    2024-07-15 19:06:01       23 阅读