tomcat学习
一,部署Tomcat
1.配置JDK环境
yum -y install java-1.8.0-openjdk-src.x86_64 #yum源安装JDK1.8 (无须配置环境变量)
2.部署tomcat
下载地址:https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.87/bin/apache-tomcat-8.5.87.tar.gz
压缩二进制包
tar xf /mnt/apache-tomcat-8.5.64.tar.gz -C /usr/local/
cd /usr/local/
mv /usr/local/apache-tomcat-8.5.64/ /usr/local/tomcat
3.tomcat的常用命令
catalina.sh start #开启tomcat
catalina.sh stop #关闭tomcat
startup.sh #开启tomcat
shutdown.sh #关闭tomcat
二,自定义目录
1.修改配置文件
[root@localhost ~]# vi /usr/local/tomcat/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="/shop" docBase="/data/project" debug="0" reloadable="false" crossContext="true">
</Context>
</Host>
#保存退出
2.开启目录浏览功能
[root@localhost ~]# vi /usr/local/tomcat/conf/web.xml
#将false改为true
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
#保存退出
3.创建目录
[root@localhost ~]# mkdir -p /data/project
[root@localhost ~]# touch /data/project/test.txt
4.重启tomcat服务
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
5.查看效果
三,多实例tomcat
1.创建多实例
cp -a /usr/local/tomcat/ /usr/local/tomcat_01 #-a保留文件所有数据 递归复制目录下的所有文件
2.更改端口(避免端口冲突)
sed -i 's#8005#8006#g' /usr/local/tomcat_01/conf/server.xml
sed -i 's#8009#8010#g' /usr/local/tomcat_01/conf/server.xml
sed -i 's#8080#8081#g' /usr/local/tomcat_01/conf/server.xml
3.启动多实例
/usr/local/tomcat/bin/catalina.sh start
/usr/local/tomcat_01/bin/catalina.sh start
4.测试
打开浏览器切换端口测试
四,自动定义监控tomcat
1.添加配置文件
cd /usr/local/tomcat
vi conf/server.xml
#添加一下内容
<Context path="/shop" docBase="/test" reloadable="false" crossContext="ture">
</Context>
#保存退出
2.添加自定义监控信息
vi /test/meminfo.jsp
#添加一下内容
<%
Runtime rtm = Runtime.getRuntime();
long mm = rtm.maxMemory()/1024/1024;
long tm = rtm.totalMemory()/1024/1024;
long fm = rtm.freeMemory()/1024/1024;
out.println("JVM memory detail info :<br>");
out.println("Max memory:"+mm+"MB"+"<br>");
out.println("Total memory: "+tm+"MB"+"<br>");
out.println("Free memory: "+fm+"MB"+"<br>");
out.println("Available memmory can be used is :"+(mm+fm-tm)+"MB"+"<br>");
%>
#保存退出
3.测试效果
五,tomcat远程监控
1.开启JMX远程调试功能
注意:IP地址正确,端口使用其他没被使用的端口,以免端口冲突
vi bin/catalina.sh
#添加一下内容
CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.2.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8085 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"
#保存退出
2.配置认证用户
#不同方式安装的JDK会存在不同位置 使用 find / -name "management" 查找
cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/lib/management
vi jmxremote.password
#G跳转到最后一行 去掉注释 修改密码即可
monitorRole 123456
controlRole 123456
#!mq强制保存退出即可
3.用户权限文件
cat jmxremote.access
monitorRole readonly #只读
controlRole readwrite \ controlRole #具有更高权限
4.给用户密码文件降权
#保证安全性
chmod 600 jmxremote.password jmxremote.access
5.重启
/usr/local/tomcat/bin/catalina.sh stop
/usr/local/tomcat/bin/catalina.sh start
6.客户端连接测试
进入windown的JDK安装位置
默认位置:C:\Program Files\Java\jdk-18.0.2.1\bin
1.双击打开
添加tomcat端口和端口号(8085),刚刚在jmxremote.password中添加的用户名和密码,然后进行连接即可
连接,因为不是https协议,点击不安全的连接即可
效果:监控窗口
六,开启tomcat图像化管理工具
1.工具介绍
server status:查看当前服务状态信息
manager app:应用管理器
host manager:主机管理器
2.开启所有功能
1.可以接受所有IP请求(server status,manager app)
开放所有IP地址( ^.*$)匹配任意字符,应用环境中不建议使用
匹配IPV4地址严格写法:((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}
[root@localhost / ]# cd /usr/local/tomcat/
[root@localhost tomcat]# vim webapps/manager/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=" ^.*$" />[root@localhost cronolog-1.6.2]# cd /usr/local/tomcat/
2.可以接受所有IP请求(host manager)
[root@localhost tomcat]# vim webapps/host-manager/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=" ^.*$" />[root@localhost cronolog-1.6.2]# cd /usr/local/tomcat/
3.创建登录用户
注意:将一下字段添加到/tomcat-users>之上
[root@localhost tomcat]# vim conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="manager" password="123456" roles="manager-gui"/>
<user username="admin" password="123456" roles="admin-gui"/>
3.重启服务
[root@localhost tomcat]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost tomcat]# /usr/local/tomcat/bin/catalina.sh start
4.测试效果
server status与manager app需要使用manager用户登录
host manager需要使用admin用户登录
七,使用manager app部署网页
1.上传war包
2.查看目录状态
3.访问查看效果
八,错误信息(404)提示
1.添加错误配置信息
注意:内容添加到</web-app>字段之上
[root@localhost tomcat]# vi conf/web.xml
<error-page>
<error-code>404</error-code>
<location>/notfound.jsp</location>
</error-page>
2.编写提示错误信息
[root@localhost tomcat]# echo 'NOT FOUND' > webapps/ROOT/notfound.jsp
3.访问测试
查看为存在的文件路径
九,日志分割
1.安装cronolog工具
[root@localhost ~]# tar -zxf cronolog-1.6.2.tar.gz
[root@localhost ~]# cd cronolog-1.6.2/
[root@localhost cronolog-1.6.2]# ./configure && make && make install
[root@localhost cronolog-1.6.2]# which cronolog
/usr/local/sbin/cronolog
2.修改日志配置
[root@localhost ~]# sed -i 's#>> "$CATALINA_OUT" 2>\&1 "&"#2>\&1 | /usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-test-%Y-%m-%d.log" \&#g' /usr/local/tomcat/bin/catalina.sh
3.查看日志文件
[root@localhost tomcat]# ls logs/
catalina.2023-03-22.log catalina.out localhost.2023-03-22.log manager.2023-03-22.log
catalina-test-2023-03-22.log host-manager.2023-03-22.log localhost_access_log.2023-03-22.txt zrlog
十,tomcat优化
1.JVM优化
[root@localhost tomcat]# vi bin/catalina.sh
#第一行添加即可
set JAVA_OPTS=-Dfile.encoding=UTF-8
-server
-Xms1024M
-Xmx1024M
-XX:NewSize=512M
-XX:MaxNewSize=1024M
-XX:PermSize=256M
-XX:MaxPermSize=356M
-XX:NewRatio=2
-XX:MaxTenuringThreshold=50
-XX:DisableExplicitGC
2.线程池设置
在Tomcat中,每一个用户请求都是 一个线程,所以可以使用线程池提高性能。 在配置文件server.xml的connector中引用,可以设置最大线程数为500,启动时最小线程为4,如下设置
[root@localhost tomcat]# vi conf/server.xml
#在service标签下添加内容一个标签exector
# <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThread="4"/>
#在connector标签的http1.1下边添加:
executor="tomcatThreadPool
old=50
-XX:DisableExplicitGC文章来源:https://www.toymoban.com/news/detail-427507.html
#### 2.线程池设置
在Tomcat中,每一个用户请求都是 一个线程,所以可以使用线程池提高性能。 在配置文件server.xml的connector中引用,可以设置最大线程数为500,启动时最小线程为4,如下设置文章来源地址https://www.toymoban.com/news/detail-427507.html
```bash
[root@localhost tomcat]# vi conf/server.xml
#在service标签下添加内容一个标签exector
# <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThread="4"/>
#在connector标签的http1.1下边添加:
executor="tomcatThreadPool
到了这里,关于简单看看就会的tomcat全家桶(部署-多实例-监控-远程上传-日志-优化等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!