一.tomcat/apache-tomcat-8.5.70/conf/server.xml组件类别介绍
1.类别
2.Connector参数
3.host参数
4.Context参数
二.web站点部署(以zrlog为例)
1.将zrlog的war包传到webapps下面
2.在mysql数据库中创建zrlog用户并赋予权限
3.完成安装向导,登录管理界面即可
一.tomcat/apache-tomcat-8.5.70/conf/server.xml组件类别介绍
1.类别
顶级组件 | 位于整个配置的顶层 | server | 示一个运行于 JVM 中的 tomcat 实例 |
容器类组件 | 可以包含其他组件的组件 | service | 将 connector 关联至 engine ,因此一个 service 内部可以有多个 connector , 但只能有一 个引擎engine, 一般情况下一个 server 内部只有一个service |
engine | 核心容器组件, catalina 引擎,负责通过 connector 接收用户请求,并把请求转至对应的虚拟主机host | ||
host | 类似于 httpd 中的虚拟主机,一般支持基于 FQDN 的虚拟主机 | ||
context | 定义一个应用程序,是一个最内层的容器类组件(不能再嵌套)。配置 context 的主要目的时指定对应的webapp 的根目录,类似于 httpd 的 alias, 还能为 webapp 指定额外的属性,如部署方式等 | ||
realm(容器类组件的一部分) | 用于处理用户身份验证和授权。它负责连接Tomcat容器与后端的用户数据库,比如LDAP、数据库、文件等,以验证用户的身份并确定其权限,关联用户认证库。认证库又分为 UserDatabaseRealm(使用 JNDI 自定义的用户认证库)、MemoryRealm(认证信息定义在 tomcat-users.xml 中)和JDBCRealm(认证信息定义在数据库中,并通过 JDBC 连接至数据库中查找认证用户) | ||
连接器组件 | 连接用户请求到tomcat | Connector | 接收用户请求,类似于httpd的listen配置监听端口 |
被嵌套类组件 | 位于容器中,不能包含其他组件 | Valve | 阀门,拦截请求并在将其转至对应的 webapp 前进行某种处理操作,可以用于任何容器中,比 如记录日志 (access log valve) 、基于 IP 做访问控制 (remote address filter valve) |
logger | 日志记录器,用于记录组件内部的状态信息,可以用于除 context 外的任何容器中 |
2.Connector参数
参数 | 含义 |
port | 指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求。 |
address | 指定连接器监听的地址,默认为所有地址(即 0.0.0.0 ) |
protocol | 连接器使用的协议,支持 HTTP 和 AJP 。 AJP ( Apache Jserv Protocol )专 用于 tomcat 与 apache 建立通信的, 在 httpd 反向代理用户请求至 tomcat 时使用(可见 Nginx 反向代理时不可用 AJP 协议) |
minProcessors/maxProcessors | 服务器启动时至少/最大创建的处理请求的线程数 |
enableLookups | 如果为 true ,则可以通过调用 request.getRemoteHost() 进行 DNS 查询来得到 远程客户端的实际主机名,若为 false 则不进行 DNS 查询,而是返回其 ip 地址 |
redirectPort | 指定服务器正在处理 http 请求时收到了一个 SSL 传输请求后重定向的端口 号 |
acceptCount | 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列 中的请求数,超过这个数的请求将不予处理 |
connectionTimeout | 指定超时的时间数 ( 以毫秒为单位 ) |
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
3.host参数
参数 | 含义 |
name | 指定主机名 |
appBase | 应用程序基本目录,即存放应用程序的目录, 一般为appBase="webapps" ,是相对于 CATALINA_HOME 而言的,也可以写绝对路径。 |
unpackWARs | 如果为 true ,则 tomcat 会自动将 WAR 文件解压,否则不解压,直接从 WAR 文件中运行应用程序 |
autoDeploy | 在 tomcat 启动时,是否自动部署 |
xmlValidation | 是否启动 xml 的校验功能,一般 xmlValidation="false" |
xmlNamespaceAware | 检测名称空间,一般 xmlNamespaceAware="false" |
<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t "%r" %s %b" /></Host>
4.Context参数
参数 | 含义 |
Context | 表示一个 web 应用程序,通常为 WAR 文件 |
docBase | 应用程序的路径或者是 WAR 文件存放的路径 , 也可以使用相对路径,起始路径为此Context所属 Host 中 appBase 定义的路径 |
path | 表示此 web 应用程序的 url 的前缀,这样请求的 url 为 http://本机IP:8080/path/ |
reloadable | 这个属性非常重要,如果为 true ,则 tomcat 会自动检测应用程序的 /WEB-INF/lib 和 /WEB-INF/classes 目录的变化,自动装载新的应用程序,可以在不重启 tomcat 的 情况下改变应用程序 |
二.web站点部署(以zrlog为例)
1.将zrlog的war包传到webapps下面
[root@localhost webapps]# ll
total 11320
drwxr-x--- 15 tomcat tomcat 4096 Aug 6 20:47 docs
drwxr-x--- 7 tomcat tomcat 99 Aug 6 20:47 examples
drwxr-x--- 6 tomcat tomcat 79 Aug 6 20:47 host-manager
drwxr-x--- 6 tomcat tomcat 114 Aug 6 20:47 manager
drwxr-x--- 3 tomcat tomcat 223 Aug 6 20:47 ROOT
drwxr-x--- 8 tomcat tomcat 111 Aug 7 16:27 zrlog
-rw-r--r-- 1 root root 11585571 Aug 5 11:58 zrlog.war
[root@localhost webapps]# pwd
/usr/local/tomcat/apache-tomcat-8.5.70/webapps
2.在mysql数据库中创建zrlog用户并赋予权限
mysql8.0 [(none)]>create user 'zrlog'@'localhost' identified by 'Zrlog@317418';
Query OK, 0 rows affected (0.00 sec)mysql8.0 [(none)]>grant all privileges on *.* to 'zrlog'@'localhost';
Query OK, 0 rows affected (0.02 sec)mysql8.0 [(none)]>flush privileges;
Query OK, 0 rows affected (0.00 sec)
3.完成安装向导,登录管理界面即可