Linux运维-陈雷雷


tomcat安装与配置

admin 229浏览 0条评论
首页/正文
分享到: / / / /

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下载地址 :

jdk-8u60-linux-x64.tar.gz

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

image-20191128154246188

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"

本文附件:

tomcat.pdf

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

上一篇

发表评论

评论列表

还没有人评论哦~赶快抢占沙发吧~

博客信息

  • 文章数目 123
  • 标签数目 333
  • 运行天数
  • 最后活动

广告



文章目录