tomcat配置

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选.

tomcat简介

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成


Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选.


Tomcat和Nginx,Apache(httpd),lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Server和JSP容器,独立的Server容器是Tomcat的默认模式,.不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器.其他JAVA容器还有resin,weblogic,websphere等



########################################################################



tomcat安装

1.部署java环境

yum install java-1.8.0 -y
java -version


2.部署tomcat

mkdir /data/soft -p
cd /data/soft/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.64/bin/apache-tomcat-8.5.64.tar.gz
tar zxf apache-tomcat-8.5.64.tar.gz -C /opt/
cd /opt
ln -s apache-tomcat-8.5.64 tomcat
/opt/tomcat/bin/startup.sh                 #启动tomcat
netstat -lntup|grep 8080                #查看端口
ps -ef|grep tomcat                    #查看进程
tail -1 /opt/tomcat/logs/catalina.out            #查看日志
curl -I 127.0.0.1:8080                    #本机访问测试

3.tomcat目录介绍

总目录


cd /opt/tomcat/
tree -L 1
├── bin             #用以启动,关闭Tomcat或其他脚本功能的脚本(.bat和.sh)
├── conf            #用以配置Tomcat的XML及DTD文件
├── lib             #存放web应用能访问的JAR包
├── logs            #Catalina和其他web应用程序的日志文件
├── temp            #临时文件
├── webapps         #Web应用程序根目录
└── work            #用以产生有JSP编译出的Servlet的.java和.class文件
webapps目录
cd webapps/
ll
总用量 8
drwxr-x--- 14 root root 4096 8月  10 16:37 docs          #tomcat帮助文档
drwxr-x---  6 root root   78 8月  10 16:37 examples      #web应用
drwxr-x---  5 root root   82 8月  10 16:37 host-manager  #管理
drwxr-x---  5 root root   97 8月  10 16:37 manager       #管理
drwxr-x---  3 root root 4096 8月  10 16:37 ROOT          #默认网站根目录
bin目录
脚本                 作用
startup.sh           开启tomcat脚本
shutdown.sh          关闭tomcat脚本
catalina.sh          核心管理脚本,以后jvm优化参数及相关配置,修改tomcat启动参数

4.启动和关闭tomcat

脚本方式:

/opt/tomcat/bin/startup.sh 
/opt/tomcat/bin/shutdown.sh
或者
/opt/tomcat/bin/catalina.sh start
/opt/tomcat/bin/catalina.sh stop
5.添加tomcat系统服务
cat >> /opt/tomcat/bin/setenv.sh << "END"
# 设置tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
# 设置java参数,提高性能
JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
END
#设置权限
chmod +x /opt/tomcat/bin/setenv.sh
#创建tomcat用户和组
groupadd -r tomcat
useradd -r -d /opt/tomcat -s /bin/nologin -g tomcat tomcat
chown -R tomcat.tomcat /opt
#配置systemctl管理tomcat
cat >> /usr/lib/systemd/system/tomcat.service << "END"
[Unit]
Description=Apache Tomcat 8
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/opt/tomcat/tomcat.pid
ExecStart=/opt/tomcat/bin/startup.sh 
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=tomcat
Group=tomcat 
[Install]
WantedBy=multi-user.target
END
启动tomcat:
systemctl start tomcat

#######################################################################


tomcat配置文件

1.tomcat配置文件介绍

tree /opt/tomcat/conf/
/opt/tomcat/conf/
├── Catalina
│   └── localhost
├── catalina.policy
├── catalina.properties
├── context.xml
├── jaspic-providers.xml
├── jaspic-providers.xsd
├── logging.properties
├── server.xml              #主配置文件
├── tomcat-users.xml        #管理用户配置文件
├── tomcat-users.xsd
└── web.xml


2.tomcat管理(可以忽略)

测试功能,生产环境不要用

Tomcat管理功能用于对Tomcat自身以及部署在Tomcat的应用管理的web应用,在默认的情况下处于禁止状态的.

如果需要开启这个功能,就要配置管理用户,即配置前面说过的tomcat-user.xml


下面是命令集合:

修改tomcat-users.xml

cat /opt/tomcat/conf/tomcat-users.xml    
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">

 

 

 


修改context.xml文件

vim /opt/tomcat/webapps/manager/META-INF/context.xml

修改管理网段:

 

allow="192\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />


重新启动tomcat

/opt/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
[root@sweb01 ~]# /opt/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.


3.访问网页测试

#######################################################################


tomcat主配置文件Server.xml详解

1.server.xml组件类别

 顶级组件:位于整个配置的顶层,如server


 容器类组件:可以包含其它组件的组件,如server,engine,host,context


 连接器组件:连接用户请求至tomcat,如connector


 被嵌套类组件:位于一个容器内,不能包含其它组件,如Valve,logger.


 

       

     

         

             

         

         

             

         

   

 


2.组件详情

server:表示一个运行于JVM中的tomcat实例


service(服务):将connector关联至engine,因此一个service内部可以有多个connector,但只能有一个引擎engine.service内部有两个connector,一个engine.因此一个service内部可以有多个connector.


connector:接收用户请求,类似于httpd的listen配置监听端口.


engine:核心容器组件,catalina引擎,负责通过connector接受用户请求,并处理请求,将请求转至对应的虚拟主机host


host:类似于httpd中的虚拟主机,一般而言支持基于FQDN(完整合格域名)的虚拟主机


context:定义一个应用程序,是一个最内层的容器类组件(不能再嵌套).篇日志context的主要目的指定对应的webapp的根目录,类似于httpd的alias,其还能为webapp指定额外的属性,如部署方式等.



Valve:阀门,拦截请求并在将其转至对应的webapp前进行某种处理操作,可以用于任何容器中,比如记录日志(access log valve),基于IP做访问控制(remote address filter valve).


logger: 日志记录器,用于记录组件内部的状态信息,可以用于除context外的任何容器中.


realm:可以用于任意容器类的组件中,关联一个用户认证库,实现认证和授权.可以关联的认证库有两种:UserDatabaseRealm,MemoryRealm和JDBCRealm


UserDatabaseRealm:使用JNDI自定义的用户认证库.


MemoryRealm:认证信息定义在tomcat-users.xml中


JDBCRealm:认证信息定义在数据库中,并通过JDBC连接至数据库查找认证用户.


3.配置文件注释

tomcat配置文件注释


 

 

 

 

 

 

 

         

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" />
               connectionTimeout="20000"
               redirectPort="8443" />
               resourceName="UserDatabase"/>
            unpackWARs="true" autoDeploy="true">
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

   

 

 


#######################################################################


Tomcat端口解释

tomcat启动之后默认会启动2个端口,分别是8080,8005


8080端口和8443端口

          connectionTimeout="20000"

          redirectPort="8443" />

这个端口用于监听浏览器发送的请求,设置为80后可以直接使用域名访问,但是如果使用普通账户启动的tomcat,则不能使用小于1024的端口

8443端口是用于https连接的,除了打开注释之外还需要有域名证书才可以


8009端口

Nginx反向代理tomcat的时候可以使用ajp协议反向代理到该端口

不过我们常用的还是反向代理到8080。


8005端口

tomcat监听的关闭端口,就是说这个端口负责关闭tomcat的请求

当执行shutdown.sh关闭tomcat就是链接8085端口执行shutdown命令



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
213 7
|
1月前
|
存储 算法 应用服务中间件
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
299 4
|
3月前
|
网络协议 Java 应用服务中间件
tomcat配置域名及HTTPS
tomcat配置域名及HTTPS
|
3月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
1月前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
1440 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
2月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
1月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
34 4
|
1月前
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
42 3
|
6月前
|
安全 网络协议 应用服务中间件
tomcat 状态页 及常见配置
tomcat 状态页 及常见配置
|
3月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)