专栏首页宵夜呢Tomcat的设置

Tomcat的设置

还是来自某次的回去等通知,当时被问是一脸懵逼的,之前是打war包后扔到Apps下,现在用了Springboot直接打成jar包运行,唯一就是没有设置过Tomcat,对了写过Tomcat结构的笔记,还没整理好发布

1. Tomcat的组件

先来看看Tomcat的各个组件,用于理解下面的各个配置作用

Server服务器监听8005端口,用于关闭Tomcat服务器

2. 打印日志乱码

因为logging默认使用utf-8,而我们的windows的日志输出控制台使用系统的GB2312,所以去conf中修改logging的配置编码为GB2312即可

3. 修改端口号

在server.xml中,8005监听关闭tomcat命令,8080监听http协议,8009负责监听集群接口,与其他Http服务器连接

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

4. 管理界面

在欢迎页的Server Status点开即可登录,地址为:http://localhost:8081/manager/status

tomcat-user.xml中添加

<role rolename="manager-gui"/>
<user username="tomcat" password="123456" roles="manager-gui"/>

5. 多域名访问

C:\Windows\System32\driver7etc\host中添加虚拟Ip

127.0.0.1 www.vutrial.com

6. 修改内存

内存模型:堆、栈、静态内存区

在Catalinna.bat中,添加:

JAVA_OPTS="-server -Xms1024m -Xmx4096m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m"
                      堆内存     堆内存        栈         永久代             最大永久代

XX:MetaspaceSize=2048m:或将永久代改为元空间

7. 动静分离

Tomcat + Nginx:前者实现Servlet的处理,后者实现静态资源的访问

可以在Nginx进行文件压缩处理,分担压缩的压力

8. 设置连接器

连接器可以公用执行器或内部自己编写

<Connectorport="8080"protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="1000"             # 最大线程数
               minSpareThreads="100"         # 最大最小空闲线程
               maxSpareThreads="200"		 # 最大最小空闲线程
               acceptCount="900"             # 等待队列阈值,满了会拒绝请求
               connectionTimeout="20000"     # 连接超时
               URIEncoding="UTF-8"
               enableLookups="false"         # 关闭dns解析,提高响应时间,用于反查域名
               redirectPort="8443"
              />

9. 开启线程池

开启线程池,并在连接器中指定线程池

<Executor name="tomcatThreadPool" 
          namePrefix="catalina-exec-"
          maxThreads="150" 
          minSpareThreads="4"
          maxIdleTime="60000"  # 空闲时间
          maxQueueSize="Integer.MAX_VALUE" # 排队数目
          />

10. 设置运行模式

正常是NIO,可以调成APR(异步请求,需要安装软件支持)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redis入门

    redis是基于内存来储存非关系型数据的键值对数据库。支持数据的持久化(重启加载)与多数据类型(Stirng、Hash、Set、List 、Zset)

    晚上没宵夜
  • 绘制验证码

    晚上没宵夜
  • BitMap

    BitMap也称为位图,其原理和布隆过滤器类似,其基本原理都是使用位数组及其下标来表示某些元素是否存在,其在处理大量数据的排序、查询、去重,以及在用户群做交集和...

    晚上没宵夜
  • Tomcat不安全字符的处理

    做项目的时候碰到一个问题,就是Tomcat在处理含有|,{,}的字符的Url时候,发现请求没有到达指定的Controller上面,而在Access_log中写入...

    付威
  • FocusNet:解决小器官难分割问题(MICCAI 2019)

    今天分享一篇发表在MICCAI 2019上的关于医学影像处理中小器官分割的论文:FocusNet: Imbalanced Large and Small Org...

    Minerva
  • IDEA配置Tomcat服务器并创建Java Web项目

    AlicFeng
  • 京东、Uber纷纷中枪,大数据时代的安全保障刻不容缓

    镁客网
  • 漫谈互联网后端基础设施

    这里的后端基础设施主要指的是应用在线上稳定运行需要依赖的关键组件或者服务。开发或者搭建好以上的后端基础设施,一般情况下是能够支撑很长一段时间内的业务的。此外,对...

    用户5927304
  • 学界 | 结合主动学习与迁移学习:让医学图像标注工作量减少一半

    机器之心
  • Java 多线程(3)---- 线程的同步(上)

    我们在前面两篇文章中分别看了一下 Java 线程的一些概念、用法和对于线程控制(开始、暂停、停止)等,并对其中的一些易错点进行了总结,如果你是对这些概念还是还不...

    指点

扫码关注云+社区

领取腾讯云代金券