企业级Tomcat部署实践及安全调优
Posted wasir
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业级Tomcat部署实践及安全调优相关的知识,希望对你有一定的参考价值。
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
Tomcat和nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理html页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。
目前Tomcat最新版本为9.0。Java容器还有resin、weblogic等。
Tomcat官网: http://tomcat.apache.org
1.1.1 Tomcat好帮手---JDK
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
JDK包含了一批用于Java开发的组件,其中包括:
javac:编译器,将后缀名为.java的源代码编译成后缀名为“.class”的字节码 java:运行工具,运行.class的字节码 jar:打包工具,将相关的类文件打包成一个文件 javadoc:文档生成器,从源码注释中提取文档,注释需匹配规范 jdb debugger:调试工具 jps:显示当前java程序运行的进程状态 javap:反编译程序 appletviewer:运行和调试applet程序的工具,不需要使用浏览器 javah:从Java类生成C头文件和C源文件。这些文件提供了连接胶合,使Java和C代码可进行交互。 javaws:运行JNLP程序 extcheck:一个检测jar包冲突的工具 apt:注释处理工具 jhat:java堆分析工具 jstack:栈跟踪程序 jstat:JVM检测统计工具 jstatd:jstat守护进程 jinfo:获取正在运行或崩溃的java程序配置信息 jmap:获取java进程内存映射信息 idlj:IDL-to-Java编译器。将IDL语言转化为java文件 policytool:一个GUI的策略文件创建和管理工具 jrunscript:命令行脚本运行
JDK中还包括完整的JRE(Java Runtime Environment),Java运行环境,也被称为private runtime。包括了用于产品环境的各种库类,如基础类库rt.jar,以及给开发人员使用的补充库,如国际化与本地化的类库、IDL库等等。
JDK中还包括各种样例程序,用以展示Java API中的各部分。
JDK下载面页:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
1.2 安装Tomcat & JDK
安装时候选择tomcat软件版本要与程序开发使用的版本一致。jdk版本要进行与tomcat保持一致。
1.2.1 系统环境说明
[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [[email protected] ~]# uname -a Linux web03 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# getenforce Disabled [[email protected] ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1)
1.2.2 安装JDK
命令集:
tar xf jdk-8u60-linux-x64.tar.gz -C /application/ ln -s /application/jdk1.8.0_60 /application/jdk # 设置环境变量 sed -i.ori ‘$a 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‘ /etc/profile source /etc/profile
测试jdk是否安装成功↓
[[email protected] ~]# 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)
1.2.3 安装Tomcat
命令集:
tar xf apache-tomcat-8.0.27.tar.gz -C /application/ ln -s /application/apache-tomcat-8.0.27 /application/tomcat # 设置环境变量 echo ‘export TOMCAT_HOME=/application/tomcat‘>>/etc/profile source /etc/profile # 注意授权,统一权限 chown -R root.root /application/jdk/ /application/tomcat/
检查tomcat是否安装成功
[[email protected] ~]# /application/tomcat/bin/version.sh Using CATALINA_BASE: /application/tomcat Using CATALINA_HOME: /application/tomcat Using CATALINA_TMPDIR: /application/tomcat/temp Using JRE_HOME: /application/jdk Using CLASSPATH: /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar Server version: Apache Tomcat/8.0.27 Server built: Sep 28 2015 08:17:25 UTC Server number: 8.0.27.0 OS Name: Linux OS Version: 3.10.0-693.el7.x86_64 Architecture: amd64 JVM Version: 1.8.0_60-b27 JVM Vendor: Oracle Corporation
1.3 Tomcat目录介绍
1.3.1 tomcat主目录介绍
[[email protected] ~]# cd /application/tomcat/ [[email protected] tomcat]# tree -L 1 . ├── bin #存放tomcat管理脚本 ├── conf # tomcat 配置文件存放目录 ├── lib # web应用调用的jar包存放路径 ├── LICENSE ├── logs # tomcat 日志存放目录,catalina.out 为主要输出日志 ├── NOTICE ├── RELEASE-NOTES ├── RUNNING.txt ├── temp # 存放临时文件 ├── webapps # web程序存放目录 └── work # 存放编译产生的.java 与 .class文件 7 directories, 4 files
1.3.2 webapps目录介绍
[[email protected] tomcat]# cd webapps/ [[email protected] webapps]# tree -L 1 . ├── docs # tomcat 帮助文档 ├── examples # web应用实例 ├── host-manager # 主机管理 ├── manager # 管理 └── ROOT # 默认站点根目录 5 directories, 0 files
1.3.3 Tomcat配置文件目录介绍(conf)
[[email protected] conf]# tree -L 1 . ├── Catalina ├── catalina.policy ├── catalina.properties ├── context.xml ├── logging.properties ├── logs ├── server.xml # tomcat 主配置文件 ├── server.xml.bak ├── server.xml.bak2 ├── tomcat-users.xml # tomcat 管理用户配置文件 ├── tomcat-users.xsd └── web.xml 2 directories, 10 files
1.4 Tomcat的管理
# 启动程序/application/tomcat/bin/startup.sh # 关闭程序/application/tomcat/bin/shutdown.sh
启动停止
[[email protected] ~]# /application/tomcat/bin/shutdown.sh Using CATALINA_BASE: /application/tomcat Using CATALINA_HOME: /application/tomcat Using CATALINA_TMPDIR: /application/tomcat/temp Using JRE_HOME: /application/jdk Using CLASSPATH: /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar [[email protected] ~]# /application/tomcat/bin/startup.sh Using CATALINA_BASE: /application/tomcat Using CATALINA_HOME: /application/tomcat
以上是关于企业级Tomcat部署实践及安全调优的主要内容,如果未能解决你的问题,请参考以下文章