内容发布更新时间 : 2025/1/10 11:04:16星期一 下面是文章的全部内容请认真阅读。
4、应用集成(tomcat)部署规范
Tomcat 是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 当前稳定tomcat版本apache-tomcat-8.5.31 Apache Tomcat 8支持Java EE 7规范,包括: Servlet 3.1 、JSP 2.3 、EL 3.0 、WebSocket 1.1
4.1目录规范
建议tomcat部署在/usr/local/tomcat/,各应用服务对应的tomcat名称如下 /user/local/tomcat/tomcat-XXX (XXX名称自定义) 将部署目录/usr/local/tomcat所属权授予tomcat chown tomcat:tomcat /usr/local/tomcat/
4.2安全控制
4.2.1更改服务监听端口
更改tomcat默认3个端口(建议使用8000-8999之间)
4.2.2禁用管理端
删除默认/conf/tomcat-users.xml文件,重启tomcat将会自动生成新的文件 删除/webapps下载默认的所有目录和文件
4.2.3降权启动
使用非root权限启动Tomcat,尽量降低tomcat启动用户的目录访问权限; 创建tomcat组groupadd tomcat
创建tomcat用户并加入tomcat组useradd tomcat -g tomcat 以tomcat用户启动服务
4.2.4禁用文件列表访问
/conf/web.xml文件中的default部分的listings的配置必须为false(默认),表示不列出文件列表
4.2.5隐藏版本信息
编辑server.xml: vi /usr/local/tomcat8/conf/server.xml 为Connector 添加 server 属性
server=\ /> 4.3性能优化 4.3.1运行模式优化 Tomcat有以下3中运行模式(根据应用场景选择运行模式): bio bio(blocking I/O),顾名思义,即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。Tomcat在默认情况下,就是以bio模式运行的。遗憾的是,就一般而言,bio模式是三种运行模式中性能最低的一种。 nio 是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。 apr (Apache Portable Runtime/Apache可移植运行库),是Apache HTTP服务器的支持库。你可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。 Tomcat apr也是在Tomcat上运行高并发应用的首选模式。 应用场景 Bio、Nio、Apr适用场景分析: Bio方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解。 Nio方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。 Apr方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持。 bio server.xml 配置 nio server.xml 配置 apr server.xml 配置 当然,apr模式还需要安装 apr 、 apr-utils 、tomcat-native包 apr 安装 tar zxf apr-1.5.2.tar.gz -C /usr/local/src/ cd /usr/local/src/apr-1.5.2/./configure --prefix=/usr/local/apr && make && make install apr-utils 安装 tar zxf apr-util-1.5.4.tar.gz -C /usr/local/src/ cd /usr/local/src/apr-util-1.5.4/./configure --with-apr=/usr/local/apr/ --prefix=/usr/local/apr-utils && make && make install tomcat-native安装 cd /usr/local/tomcat/tomcat-XXX/bin/ tar zxf tomcat-native.tar.gz cd tomcat-native-1.1.33-src/jni/native./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/java/ && make && make install 安装完在 /etc/profile 的JAVA变量后面多加一条APR的环境变量 设置环境变量 export JAVA_HOME=/usr/local/jdk1.7.0_79 export JRE_HOME=/usr/local/jdk1.7.0_79/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib server.xml标准配置如下 protocol=\ connectionTimeout=\ redirectPort=\ URIEncoding=\ keepAliveTimeout=\ maxKeepAliveRequests=\ minSpareThreads=\ maxSpareThreads=\ enableLookups=\ acceptCount=\ 4.3.2连接池优化 conf/server.xml中打开注释,启用线程池 默认配置: 修改实例: