Tomcat内存设置

  • 确定服务器内存

    • Windows系统直接在文档系统中查看
    • Linux系统使用命令查看
        [root@localhost ~]# free参数说明:Mem:内存的使用信息Swap:交换空间的使用信息total:总计物理内存的大小used:已使用物理内存free:可用物理内存shared:多个进程共享的内存总额buffers/cached:缓存缓冲使用物理内存大小available:还可以被应用程序使用的物理内存大小
    

  • 根据可用内存修改配置文件【apache-tomcat-HOME\bin\catalina.sh】
  • 配置样例
    内存设置说明: 堆内存设置:-Xms 初始堆大小。如:-Xms256m或2G,默认为物理内存1/64。-Xmx 最大堆大小。如:-Xmx512m或2G,默认为物理内存1/4。非堆内存设置:-XX:PermSize 永久代(方法区)的初始大小,默认为物理内存1/64。-XX:MaxPermSize 永久代(方法区)的最大值,默认为物理内存1/4。

Tomcat时区设置

场景:服务器时间问题,会导致某些对时效性要求较高或定时任务等,受到不可估量的影响,需重视

  • 修改配置文件【apache-tomcat-HOME\bin\catalina.sh】
  • 配置样例

    配置方式不唯一,可直接设置时区:
    Duser.timezone=GMT+08

Tomcat日志分割

场景:一般情况,程序中会使用log4j日志插件处理系统日志,但是,在某些情况下,依旧需要使用Tomcat自带的日志排查问题,Tomcat日志只记录一个,文件会非常大,因此,需要对Tomcat的日志进行分割,方便跟踪

  • 参考方案
    使用cronolog
  • 安装cronolog
        /data/soft/cronolog-masterln -s configure.ac bootstrap./configure --prefix=/data/cronologmakemake install
    
  • 具体配置
    org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /data/cronolog/sbin/cronolog
/data/tomcat/apache-tomcat-8.5.65/logs/catalina.%Y-%m-%d.out >> /dev/null &
  • 测试
    目录下出现此类文件,即测试通过
    【apache-tomcat-HOME\logs\catalina.2011-11-07.out】

Tomcat连接池

推荐使用Druid、BoneCP

  • 确认Tomcat使用的连接池版本

    Tomcat7以前使用的都是DBCP1,以后都使用DBCP2

  • 修改配置文件
    <!-- 修改【apache-tomcat-HOME\conf\context.xml] --><!-- 在最后添加 --><!-- tomcat DBCPPool --><Resource  name="jdbc/otmsweb"   auth="Container"  type="javax.sql.DataSource"username="user"password="pass"driverClassName="oracle.jdbc.OracleDriver"url="jdbc:oracle:thin:@ip:port/ins"factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory"maxIdle="30"minIdle="10"maxWaitMillis="30000"maxTotal="30"removeAbandonedOnBorrow="true" removeAbandonedTimeout="180"logAbandoned="true"/>

参数说明

    <!-- 修改主应用【server-HOME\WEB-INF\web.xml]  --><!-- tomcat DBCPPool --><resource-ref ><description >databaseConnection</description ><res-ref-name >jdbc/otmsweb</res-ref-name ><res-type >javax.sql.DataSource</res-type ><res-auth >Container</res-auth ></resource-ref >

参数说明
参数基本固定,只需要修改中连接池名称与context.xml中一致即可

Tomcat连接池加密

企业项目中,对于暴露的配置信息最为忌讳,存在安全问题,所以需要对敏感信息进行加密

  • 编写加解密程序
    // 思路如下// 1、编写加解密工具类,可使用主流加密方式,亦可自己设计// 2、重写dbcp加载配置类,填充用户密码时,调用解密方法// org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory// 加密工程如下:https://download.csdn.net/download/smilecold/86176894
  • 放置到【apache-tomcat-HOME\lib】下
  • 修改连接池配置文件,用户、密码信息替换为密文,并修改加载配置类
    运行工程(注意打包时指定main入口)加密用户密码
    <!-- 修改连接池配置中的加载类,配置为自己的工程路径 -->factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory"

常见报错

  1. 驱动找不到
    将驱动包添加到【apache-tomcat-HOME\lib】下
  2. 报错IllegalArgumentException: The AJP Connector is configured with secretRequired=“true” but the secret
    <!-- 修改server.xml --><Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretrequired=""/>

具体问题,具体分析,善看日志!

Tomcat配置(dbcp连接池、连接池加密、日志分割)相关推荐

  1. Apache的配置与应用(构建web、日志分割及AWStats分析系统)

    Apache的配置与应用 一.构建虚拟Web主机 二.httpd服务支持的三种虚拟机类型 1.基于域名的虚拟主机 2.基于IP地址的虚拟主机 3.基于端口的虚拟主机 三.构建web虚拟目录与用户授权限 ...

  2. 如何实现Tomcat连接池数据库密码加密

    问题背景: 快逸报表应用在tomcat应用服务器进行部署时,如果需要调用tomcat配置好的数据库连接池,就不得不把报表数据源连接的密码以明文形式暴露,这样数据库连接的用户名密码都非常容易被获取,是非 ...

  3. mysql事务锁导致tomcat崩溃_数据库连接池连接耗尽,导致tomcat请求无响应,呈现出假死状态...

    最困难的事情就是认识自己! 个人网站 ,欢迎访问! 前言:最近,测试部门的同事找到我,说他们测试时,没一会就发现服务接口请求一直无响应,Tomcat跟死掉了一样,也没有返回任何的错误响应,说让我赶紧排 ...

  4. Tomcat中设置数据源和连接池

    对于大型网站来说,信息查询的次数会非常多,每次查询都需要这样的过程:加载驱动程序.创建连接.创建语句对象.执行SQL语句.关闭这些对象.这样使得每一个用户访问的时候都需要服务器做出相应,这样的话服务器 ...

  5. druid 连接db2_DRUID连接池的实用 配置详解

    DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针 ...

  6. dbcp与c3po连接池

    Dbcp:效率高,但是安全性一般 C3p0:安全性很高,效率偏低 DBCP也是一个开源的连接池,是Apache Commons成员之一,在企业开发中也比较常见,tomcat内置的连接池. DBCP连接 ...

  7. Tomcat JDBC池–连接泄漏–捕获罪魁祸首

    数据库连接泄漏是可以隐藏的东西,除非特别注意,否则将在系统高峰期最关键的阶段暴露出来. 我们将手动检查所有打开的连接是否已正确关闭. 然后,我们将提供各种代码质量插件来进行扫描和检查. 当连接通过复杂 ...

  8. SpringBoot2开启mongodbSSL连接与连接池配置

    SpringBoot2开启mongodbSSL连接与连接池配置 本文基于springboot2采用host方式配置mongodb ip连接,官方也支持uri方式连接mongodb(mongodb:// ...

  9. java tomcat连接池,tomcat容器的内置连接池怎么使用(按时结帐)

    tomcat容器的内置连接池怎么使用(按时结帐) tomcat容器的内置连接池怎么使用(按时结帐) 日期:2014-05-18 浏览次数:20325 次 tomcat容器的内置连接池如何使用(按时结帐 ...

最新文章

  1. 【Android 逆向】Frida 框架 ( 安装 frida 12.7.5 | 安装 frida-tools 5.1.0 | PC 端 frida 与 安卓模拟器端 frida-server )
  2. 【Excel】VBA自动化更新数据表格
  3. 3.jeesite传统开发
  4. Makefile中的patsubst函数
  5. PTA第3章-2 查验身份证 (15 分)
  6. XCTF_Web_新手练习区:disabled_button
  7. HDU 6071 Lazy Running
  8. 转 :原码,反码,补码
  9. JS 获取指定URL的时间
  10. Windows Azure 客户真实案例:交互式解决方案提供商获得了敏捷性,通过托管服务节省了成本...
  11. linux 7 查看网卡配置文件,如何查询centos网卡配置文件
  12. Python3 大型网络爬虫实战 003 — scrapy 大型静态图片网站爬虫项目实战 — 实战:爬取 169美女图片网 高清图片
  13. 市场战略再升级 解析融云的生态平台+纵深发展
  14. php把 图片上传到 图片服务器
  15. Codeforces Round #614 (Div. 2) A题ConneR and the A.R.C. Markland-N
  16. 研究生可以不用学英语?只要考研英语或六级分数高!
  17. ubuntu 屏幕亮度无法调节
  18. WiFi远程监控,监控摄像头只有在WiFi环境才能使用吗
  19. gif软件(ShareX)
  20. 标准成本和实际成本的比较

热门文章

  1. 秒杀系统(二)——商品模块展示技术难点
  2. win7开启uasp协议_WIN7 USB加速方法
  3. 晶振旁外接电容的选择
  4. C# 数组拷贝 数组截取前几个值 的方法
  5. 我真的要做一辈子的程序员吗?
  6. java基于ssm奶茶店进销存系统
  7. Photoshop CS4 锁定图层
  8. 【软件工程大作业】软件项目管理之人员管理
  9. 【android录屏填坑】录屏报错start fail,stop fail
  10. vue中实现菜单栏的拖拽