tomcat
tomcat和php一样,都是用来处理动态页面的。
tomcat也可以作为web应用服务器,开源的。
php .php
tomcat .jsp
nginx .html
tomcat是用java代码写的程序,运行的是java的web应用程序
tomcat的特点和功能:
1、servlet容器:执行java servlet,服务端的java程序,处理客户端的http请求,以及相应
2、jsp容器,javaserver page,这是一种动态页面的技术,可以在html的页面里面嵌入java代码
3、自身也是一个http服务器
4、tomcat是一个轻量级的动态页面处理程序,高并发场景不使用
优化,tomcat自身的优化,以及系统的内核优化,jvm优化
servlet
是java语言当中用于开发web应用程序的关键组件
处理http请求,生成动态内容以及响应客户端的请求,处理java的业务逻辑,会话管理,保持用户的状态信息,购物车同步,用户登录等等,也可以转发nginx的动态请求到数据库
jsp
web应用程序的界面,这个界面的语言是用java实现。
.jsp为结尾的文件。
index.jsp
tomcat的组件:
connector:负责对外接受和响应请求,它是tomcat于客户端沟通的一个枢纽,监听端口接受外界请求。
端口:8080
接收到了请求之后,传递给其他组件进行处理,处理完成之后回到connector,再响应客户端。
container:负责处理业务逻辑,engine host context wrapper四个功能组成
engine:用来管理多个虚拟主机。一个service只能有一个engine
host:一个host就是一个主机,也可以叫站点,通过配饰host,可以添加多个站点
context:一个context代表一个web应用
wrapper:封装器,负责处理最底层的逻辑
service:对外提供web服务,包含connector和container
tomcat可以有多个service,每个service之间互相是独立的
tomcat目录的作用
1、bin 存放启动和关闭tomcat脚本的文件。startup.sh shutdow.sh
2、conf 存放tomcat的主配置文件,server.xml主配置文件
context.xml:host的默认配置信息
tomcat-user.xml:登录时认证用户和密码的相关信息,manager文件必须要赋权修改之后才能打开
3、lib:tomcat运行时需要的jar包,一般不动
4、logs:日志文件。catalina.out主日志文件
5、temp:存放tomcat运行时产生的文件
6、werapps:部署web应用的目录,类似于nginx的html
#安装JDK
cd /opt
rpm -ivh jdk-8u201-linux-x64.rpm
java -version
#设置JDK环境变量
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
source /etc/profile.d/java.sh
java -version
#安装tomcat
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
##启动tomcat ##
#后台启动
/usr/local/tomcat/bin/startup.sh
或
/usr/local/tomcat/bin/catalina.sh start
#前台启动
/usr/local/tomcat/bin/catalina.sh run
#查看manager文件:
cd /usr/local/tomcat/webapps/manager/META-INF
vim context.xml
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=".*" /> #允许所有主机访问。
#更改allow=".*"
#在conf,tomcat-users.xml中,添加账户密码
vim /usr/local/tomacat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
#配置tomcat的虚拟主机
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
vim /usr/local/tomcat/conf/server.xml
<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" />
vim /etc/hosts
192.168.39.40 www.xy102.com www.benet.com