tomcat 官方网站
官方地址: http://tomcat.apache.org
tomcat介绍
Tomcat服务器是一个免费的开源web应用服务器,在中小型系统和并发量不是很高的场合下用的较多,用于开发和调试jsp网页. tomcat和nginx apache lighttpd等web服务器一样,具有html页面功能,另外他还是一个servlet和jsp容器,独立的servlet容器是tomcat的默认模式. tomcat处理静态网页的能力不如nginx/apache.
安装tomcat
#上传解压安装包
tar -xf apache-tomcat-9.0.17.tar.gz /apache-tomcat-9.0.17
ln -s apache-tomcat-9.0.17/ tomcat
#安装jdk
#1. 添加环境变量
export JAVA_HOME=/application/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
#2. 上传jdk软件包
[root@master tools]# rz -E
[root@master tools]# tar xf jdk-8u60-linux-x64.tar.gz -C /application/
[root@master tools]# ln -s /application/jdk1.8.0_60/ /application/jdk
[jdk下载地址]
https://chenleilei.net/fujian/jdk-8u60-linux-x64.tar.gz
#3. 生效jdk
[root@master tools]# source /etc/profile ##让设置的变量立即生效
[root@master tools]# java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
#4. 设置jdk程序目录权限信息
chown -R root.root /application/jdk/
#5. 启动tomcat
/application/tomcat/bin/startup.sh
停止tomcat
/application/tomcat/bin/stop/shutdown.sh
#相关信息:
export JAVA_HOME=/application/jdk
<-- 定义jdk软件程序目录
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
<-- 定义jdk命令存在于环境变量中,可以直接使用
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
<-- 定义java程序运行所需的库文件环境变量(classpath)
#检查环境变量
[root@master logs]# env|grep -E 'JAVA_HOME|PATH|CLASSPATH|TOMCAT_HOME'
PATH=/application/jdk/bin:/application/jdk/jre/bin:/application/jdk/bin:/application/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
JAVA_HOME=/application/jdk
CLASSPATH=.:/application/jdk/lib:/application/jdk/jre/lib:/application/jdk/lib/tools.jar
tomcat目录信息:
[root@master logs]# ll /application/tomcat/
total 124
drwxr-x--- 2 root root 4096 Nov 28 11:00 bin #------启动停止命令目录.
-rw-r----- 1 root root 19182 Mar 13 2019 BUILDING.txt
drwx------ 3 root root 254 Nov 28 11:02 conf #------配置文件目录.
-rw-r----- 1 root root 5407 Mar 13 2019 CONTRIBUTING.md
drwxr-x--- 2 root root 4096 Nov 28 11:00 lib #-------库文件目录
-rw-r----- 1 root root 57092 Mar 13 2019 LICENSE
drwxr-x--- 2 root root 197 Nov 28 11:02 logs #-------日志目录
-rw-r----- 1 root root 2333 Mar 13 2019 NOTICE
-rw-r----- 1 root root 3255 Mar 13 2019 README.md
-rw-r----- 1 root root 6854 Mar 13 2019 RELEASE-NOTES
-rw-r----- 1 root root 16262 Mar 13 2019 RUNNING.txt
drwxr-x--- 2 root root 30 Nov 28 11:00 temp #------临时文件目录.
drwxr-x--- 7 root root 81 Mar 13 2019 webapps #------存放网站文件目录.
drwxr-x--- 3 root root 22 Nov 28 11:02 work #---jsp文件转class文件的目录.并非缓存目录.
#注意: 目录权限应该是root. 如果不是,就用下面命令修改:
chown -R root.root /application/tomcat/ /application/jdk/
#配置文件目录
[root@master tomcat]# ll conf/
total 228
drwxr-x--- 3 root root 23 Nov 28 11:02 Catalina
-rw------- 1 root root 12873 Mar 13 2019 catalina.policy
-rw------- 1 root root 7243 Mar 13 2019 catalina.properties
-rw------- 1 root root 1400 Mar 13 2019 context.xml
-rw------- 1 root root 1149 Mar 13 2019 jaspic-providers.xml
-rw------- 1 root root 2313 Mar 13 2019 jaspic-providers.xsd
-rw------- 1 root root 4144 Mar 13 2019 logging.properties
-rw------- 1 root root 7511 Mar 13 2019 server.xml ## 服务主配置文件
-rw------- 1 root root 2164 Mar 13 2019 tomcat-users.xml #tomcat管理用户目录
-rw------- 1 root root 2633 Mar 13 2019 tomcat-users.xsd
-rw------- 1 root root 170202 Mar 13 2019 web.xml ## 配置文件
jdk下载地址 :
tomcat停止与启动:
启动tomcat
/application/tomcat/bin/startup.sh
停止tomcat
/application/tomcat/bin/stop/shutdown.sh
tomcat日志:
tomcat/logs/
配置tomcat状态页管理用户
第一步:
vim /application/tomcat/conf/tomcat-users.xml
修改 tomcat-users.xml 文件,添加管理用户:
在文件最后一行的上方添加2行:
<role rolename ="manager,manager-gui,admin-script,admin-gui" />
<user username ="tomcat" password ="tomcat" roles ="manager,manager-gui,script" />
</tomcat-users>
#####----------------------------------------
</tomcat-users> <-----这是最后一行,在他上面添加,上面代码包含了</tomcat-users>
第二步:
注释 context.xml文件中的 权限
修改前:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
修改后:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
-->
以上两步配置完毕后,重启tomcat,使用 tomcat用户 tomcat密码进行登录验证.
配置host manager
vim /application/tomcat/webapps/manager/META-INF/context.xml
注释:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
-->
改为:
# 10.0.0.0网段写法: 10\.\d+\.\d+\.\d+
#注意这是添加允许访问的源IP,我是10.0.0.0网段,所以添加了这个网段:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10\.\d+\.\d+\.\d+" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
#添加用户
vim /application/tomcat/conf/tomcat-users.xml
改为如下:
<user rolename ="manager-admin" username ="admin" password ="admin" roles ="manager-gui,manager-status,manager-script,admin-gui,admin-scripts" />
修改完成后重启tomcat.
这是定义一个admin权限组,拥有权限为: manager-gui,manager-status,manager-script,admin-gui,admin-scripts
额外在添加一个只允许查看状态的用户:
<user rolename ="manager-status" username ="chenleilei" password ="chenleilei" roles ="manager-status" />
这样,chenleilei这个用户只会有查看状态的权限,其他选项都会出现403权限拒绝!
---------------------------------------------------------------
manager-gui:
允许访问html接口(即URL路径为/manager/html/*)
manager-script:
允许访问纯文本接口(即URL路径为/manager/text/*)
manager-jmx:
允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
manager-status:
允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
admin用户权限测试:
权限:
<user rolename ="manager-admin" username ="admin" password ="admin" roles ="manager-gui,manager-status,manager-script,admin-gui,admin-scripts" />
host-manager权限:
Server Status权限:
Tomcat Web Application Manager权限:
chenleilei用户权限测试:
权限配置:
<user rolename ="manager-status" username ="chenleilei" password ="chenleilei" roles ="manager-status" />
只允许看状态页
看其他页面提示:
tomcat内存限制
tomcat是一个为java提供的web应用服务,他占用内存较大,那么如何进行内存限制,有效优化tomcat服务成为了重点 tomcat的启动文件就对内存进行了管控,如果需要限制内存则需要在启动shell中进行配置
tomcat gzip配置
参考连接:http://tomcat.apache.org/tomcat-9.0-doc/config/http.html
<Connector port="8080" protocol="HTTP/1.1"
...
...
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
...
...
/>
... 代表省略没有写出来的配置,写出来的是 gzip关键配置.
noCompressionUserAgents= 不进行压缩的浏览器.默认配置即可
compressionMinSize="2048" 大于2048字节的文件开启压缩功能.
compressableMimeType= "text/html,..... " 压缩文件的类型.
参考连接:http://tomcat.apache.org/tomcat-9.0-doc/config/http.html
简单的状态监控 [jps]
启动优化内存限制:
限制java程序内存:
vim /application/tomcat/bin/catalina.sh
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m"
本文附件:

最后修改:
© 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

发表评论