安装

  1. docker search tomcat
  2. docker pull tomcat
  3. docker images
  4. docker run -d -p 88:8080 tomcat
  5. docker exet -ti 4008a4e724f8 bash
  6. 进入容器后如果出现404
  7. cd webapps
  8. cp -r ../webapps.dist/* .
  9. 重启
  10. docker restart 4008a4e724f8
  11. 开启manager App
  12. 添加账号信息:
  13. vim conf/tomcat-users.xml
  14. <role rolename="manager-gui"/>
  15. <user username="tomcat" password="gys123.." roles="manager-gui"/>
  16. 注释一下内容:
  17. vim webapps/manager/META-INF/context.xml

查看版本

curl查看
curl Tomcat_ip_addr:port | grep "Apache Tomcat"

服务脚本查看,准确
cd /usr/local/tomcat/bin
./version.sh

查看地址限制

默认只允许本地登录

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

查看allow 字段

设置特定地址访问

allow="127\.0\.0\.1|192\.168\.0\.1" />

用户权限

  • manager-gui - 允许访问 HTML GUI 和状态页面
  • manager-script - 允许访问文本界面和状态页面
  • manager-jmx - 允许访问 JMX 代理和状态页面
  • manager-status - 只允许访问状态页面

添加账号信息:

vim conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="tomcat" password="gys123.." roles="manager-gui"/>

日志


设置日志
vim conf/logging.properties

level不为off则为开启
SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
有五类日志 :catalina、localhost、manager、admin、host-manager

查看访问日志:
cd /usr/local/tomcat/logs   这个是访问tomcat的日志,请求时间和资源,状态码都有记录。
tail -f localhost_access_log.2022-02-10.txt
1.1.2.1 - admin [10/Feb/2022:06:17:20 +0000] "GET /manager/html HTTP/1.1" 200 16270

设置日志参数

vim conf/server.xml

%h 为远程主机名 对应 192.168.21.237
%l 为远程登录名,除非IdentityCheck设为‘On’,否则将得到一个“-”
%u 为远程用户名(根据验证信息而来),若不存在得到一个“-”
%t 为时间,用普通日志格式(标准英语格式),对应[29/Jun/2020:17:04:30 +0800]
&quot; 为双引号"的实体编码
%r 为请求头第一行(包括HTTP方法和请求的RUI),对应GET /test/ HTTP/1.1
%s 为HTTP响应状态码,对应200
%b 为发送信息的字节数,不包括HTTP头,如果字节数为0的话,显示为-,对应8

超时连接

cat conf/web.xml

设置完以后manage中过期会话时间也会变化,但测试后发现不生效。

cat conf/server.xml

设置完以后同样不生效。

失败锁定

cat conf/server.xml

failureCount 失败次数

lockOutTime 锁定秒数

设置成功后,次数达到上线后即使密码正确也无法登录。

默认用户密码

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