Tomcat的管理功能

Tomcat的管理功能

host-manager(管理虚拟主机)

这个功能主要用来管理虚拟主机的,可以通过这个WEB界面,来停止、启动以及增加虚拟主机。首先要配置用户角色:

vim /usr/local/tomcat/conf/tomcat-users.xml

倒数第二行</tomcat-users>上面添加内容:

<role rolename="admin"/>

<role rolename="admin-gui"/>

<role rolename="admin-script"/>

<role rolename="manager"/>

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/><user name="tomcat" password="admin123" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>

admin-gui和admin-script是两个Tomcat内置的角色,host-manager功能需要这两个角色的支持。其中admin-gui用于控制页面访问权限,admin-script用于控制以简单的文本的形式进行访问host-manager。

Tomcat还有一个安全的设置,默认不允许这个客户端IP访问host-manager页面,修改配置文件把IP加入白名单:

vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml

在allow一行增加192.168.111.\d+ .需要\脱义 d+表示所有

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

重启服务:

/usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh

Windows端网页访问http://192.168.111.136:8080/host-manager;

imgimg

通过上述WEB界面来增加、停止以及启动虚拟主机。

增加virtualhost,会在/usr/local/tomcat/conf/Catalina/目录下生成一个对应的目录,目录永久存在,但virtualhost临时的,重启服务后会消失。

可以让其永久保存到server.xml,但需要在server.xml里增加,如下配置:

vim /usr/local/tomcat/conf/server.xml

增加配置:

<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

img

出现403错误

解决:在配置文件增加两个用户:manager-gui, manager-script

vim /usr/local/tomcat/conf/tomcat-users.xml

<role rolename="admin-gui"/>

<role rolename="admin-script"/>

<role rolename="manager-script"/>

<role rolename="manager-gui"/>

<user username="tomcat" password="tomcat123"

roles="admin-script,admin-gui,manager-gui,manager-script"/>`

重启服务:

/usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh

提示:这里再去web界面添加虚拟主机还是会失败,因为原先虽然403错误,但是文件已经生成,所以需要删除原先生成的文件,然后再重新添加虚拟主机

rm -rf /data/wwwroot/ccc.com

rm -rf conf/Catalina/www.ccc.com

重新网页访问,添加虚拟主机,点击添加,点击持久化配置保存

img

刷新网页重新登录,虚拟主机www.ccc.com没有消失,添加成功

img

查看配置文件vim /usr/local/tomcat/conf/server.xml 最下面自动生成了虚拟主机配置行

<Host appBase="/data/wwwroot/ccc.com" copyXML="true"

name="www.ccc.com">

<Alias>ccc.com</Alias>

</Host>

Manager**部署**

其实在host-manager界面里,点击右侧的"Server Status"按钮就会跳转到Manager界面里,要想成功访问同样需要配置tomcat-user.xml以及webapps/manager/META-INF/context.xml两个配置文件:

vim /usr/local/tomcat/conf/tomcat-users.xml

增加红色部分的参数

<role rolename="admin-gui"/>

<role rolename="admin-script"/>

<role rolename="manager-script"/>

<role rolename="manager-gui"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

<user username="tomcat" password="tomcat123"

roles="admin-gui,admin-script,manager-jmx,manager-status,manager-gui,manager-script"/>`

其中manager-gui用于控制manager页面的访问,manager-script 用于控制以简单的文本的形式进行访问manager,manager-jmx用于控制jmx访问,manager-status用于控制服务器状态的查看。然后编辑webapps/manager/META-INF/context.xml:

Manager添加允许访问的白名单IP

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

增加192.168.111.* 这一段

<Valve className="org.apache.catalina.valves.RemoteAddrValve"

allow="127.\d+.\d+.\d+|::1|0:0:0:0:0:0:0:1|192.168.111.*"/>

Windows网页访问:192.168.111.136:8080/manager

img

admin-gui — 可访问 "host管理" 页面,但"APP管理" 和 "服务器状态" 页面无查看权限
manager-gui — 无 "host管理" 页面访问权限,有"APP管理" 和 "服务器状态" 页面查看权限
manager-status — 只有"服务器状态" 页面查看权限
manager-script — 有脚本方式管理接口访问权限和"服务器状态" 页面查看权限
manager-jmx — JMX 代理接口访问权限和"服务器状态" 页面查看权限
admin-script — 只有host-manager脚本方式管理接口访问权限

Tomcat日志

Tomcat日志在/usr/local/tomcat/logs/目录下,大概有这么几类文件:catalina.out、catalina.2020-09-17.log、host-manager.2020-09-17.log、

manager.2020-09-17.log、localhost.2020-09-17.log、

localhost_access_log.2020-09-17.txt

catalina.out,这个日志是核心日志,无论正确的信息还是错误的信息,不管是tomcat服务本身的还是tomcat跑的应用(如,zrlog)都会记录到这个日志里。

两个manager日志是管理台相关的日志,不用关注。

access_log是访问日志,记录客户端访问网站的情况,这个日志其实可以不让它记,而是在前端Nginx代理上记录,所以也不用关注。catalina.xxxx-xx-xx.log是catalina引擎相关的日志,可以认为是tomcat服务本身的日志,其实这个也不用关注,因为它和catalina.out是重复的,也就是说这个里面记录的信息在catalina.out里就有。localhost.xxxx-xx-xx.log,它主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,其实也不用怎么关注。

日志配置文件/usr/local/tomcat/conf/logging.properties,里面主要定义了非访问日志的一些属性,比如日志路径、哪些日志记录到哪个文件(名字)、日志级别、存储周期等信息,这个配置文件我们一般都不会更改,保持默认即可。

访问日志的格式、路径是在server.xml中定义的,如下为访问日志的配置片段:

<Valve className="org.apache.catalina.valves.AccessLogValve"

pattern="%h %l %u %t "%r" %s %b"

prefix="localhost_access_log" suffix=".txt"/>

日志切割:

主要针对catalina.out,这个没有设置日期

切割方法:

设置任务计划

1,例如:每隔一段时间清空该文件,比如增加一个计划任务

0 0 /5 * echo "" > /usr/local/tomcat/logs/catalina.out

2,用系统自带的logrotate工具切割

# vim /etc/logrotate.d/tomcat //写入如下内容

/usr/local/tomcat/logs/catalina.out {

copytruncate # 创建新的catalina.out副本后,截断源catalina.out文件

daily # 每天进行catalina.out文件的轮转

rotate 7 # 至多保留7个副本

missingok # 如果要轮转的文件丢失了,继续轮转而不报错

compress # 使用压缩的方式(节省硬盘空间)

size 16M # 当catalina.out文件大于16MB时,就轮转

}

猜你喜欢

转载自blog.51cto.com/11451960/2637987