tomcat 编译安装
安装jdk环境
##yum方式安装 yum -y install java-1.8.0-openjdk.x86_64 ##编译安装 官网下载tar包 tar xf jdk-8u201-linux-x64.tar.gz -C /usr/local/ cd /usr/local/ ln -s jdk1.8.0_201/ java ## 添加环境变量 [root@tomcat_web ~]# vim /etc/profile export JAVA_HOME=/usr/local/java export JRE_HOME=/usr/local/java/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH ## 加载修改的变量 source /etc/profile ## 查看是否安装成功 java -version
安装tomcat
下载tar包
wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.65/bin/apache-tomcat-8.5.65.tar.gz tar -xvf apache-tomcat-8.5.65.tar.gz -C /usr/local/ cd /usr/local/ ln -s apache-tomcat-8.5.65/ tomcat ## 添加环境变量-替换上面的jdk修改内容 vim /etc/profile export JAVA_HOME=/usr/local/java export TOMCAT_HOME=/usr/local/tomcat export JRE_HOME=/usr/local/java/jre export PATH=$TOMCAT_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH ## 授权 chown -R root.root /usr/local/jdk/ /usr/local/tomcat/ ## 检查是否安装完成 [root@localhost tomcat]# /usr/local/tomcat/bin/version.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/java/jre Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Server version: Apache Tomcat/8.5.65 Server built: Mar 30 2021 12:28:40 UTC Server number: 8.5.65.0 OS Name: Linux OS Version: 3.10.0-957.el7.x86_64 Architecture: amd64 JVM Version: 1.8.0_211-b12 JVM Vendor: Oracle Corporation ## 占用端口 8080 服务端口 8005 重启端口
目录路径
cd /usr/local/tomcat/ tree -L 1 . ├── bin #存放tomcat管理脚本 ├── conf # tomcat 配置文件存放目录 ├── lib # web应用调用的jar包存放路径 ├── LICENSE ├── logs # tomcat 日志存放目录,catalina.out 为主要输出日志 ├── NOTICE ├── RELEASE-NOTES ├── RUNNING.txt ├── temp # 存放临时文件 ├── webapps # web程序存放目录 └── work # 存放编译产生的.java 与 .class文件
webapps 目录介绍
cd /usr/local/tomcat/webapps/ tree -L 1 . ├── docs # tomcat 帮助文档 ├── examples # web应用实例 ├── host-manager # 主机管理 ├── manager # 管理 └── ROOT # 默认站点根目录
Tomcat 配置文件目录介绍(conf)
cd /usr/local/tomcat/conf tree -L 1 . ├── Catalina ├── catalina.policy ├── catalina.properties ├── context.xml ├── logging.properties ├── logs ├── server.xml # tomcat 主配置文件 ├── server.xml.bak ├── server.xml.bak2 ├── tomcat-users.xml # tomcat 管理用户配置文件 ├── tomcat-users.xsd └── web.xml
Tomcat 的管理
# 启动程序/usr/local/tomcat/bin/startup.sh # 关闭程序/usr/local/tomcat/bin/shutdown.sh
配置文件详解
server.xml <?xml version='1.0' encoding='utf-8'?> <!-- <Server>元素代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个<Service>元素.并且它不能做为任何元素的子元素. port指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令.该属性是必须的. shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须设置 --> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <!--service服务组件--> <Service name="Catalina"> <!-- Connector主要参数说明(见下表) --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <!--engine,核心容器组件,catalina引擎,负责通过connector接收用户请求,并处理请求,将请求转至对应的虚拟主机host defaultHost指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的 --> <Engine name="Catalina" defaultHost="localhost"> <!--Realm表示存放用户名,密码及role的数据库--> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <!-- 详情常见下表(host参数详解)--> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- 详情常见下表(Context参数说明 )--> <Context path="" docBase="" debug=""/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service> </Server>
修改端口
sed -i 's#8005#8011#;s#8080#8081#' tomcat/conf/server.xml