tomcat7简单优化
生产环境下我们不应该使用root用户开启tomcat服务,所以为了安全起见,我们创建一个用户tomcat
useradd tomcat
passwd tomcat(密码也设为tomcat)
编辑tomcat目录下的conf里的tomcat-users.xml文件
在tomcat-users里面增加以下内容
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="admin-gui,admin,manager-gui,manager"/>
点击server status进入,输入用户名tomcat和密码tomcat
可以看到有个ajp
默认的tomat的模式是bio,上图是我已经修改模式为nio了的效果图,修改方法为
vi conf/service.xml,找到connector,就是以下内容
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改一下协议内容,HTTP/1.1改为
org.apache.coyote.http11.Http11NioProtocol
此时刷新页面
一般情况下我们使用的是nginx+tomat,而不是ajp协议,禁用该协议有利于提升性能,方法为vi conf/service.xml注释掉协议为AJP的那行
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
重启服务后,效果如下
[root@localhost bin]# cd - #回到上一个工作目录
/usr/local/src/apache-tomcat-7.0.78/conf
[root@localhost conf]# vi server.xml
[root@localhost conf]# cd -
/usr/local/src/apache-tomcat-7.0.78/bin
[root@localhost bin]# ./shutdown.sh ;./startup.sh #依次执行,好像没有重启的脚本,所以就关闭再打开了
Using CATALINA_BASE: /usr/local/src/apache-tomcat-7.0.78
Using CATALINA_HOME: /usr/local/src/apache-tomcat-7.0.78
Using CATALINA_TMPDIR: /usr/local/src/apache-tomcat-7.0.78/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/src/apache-tomcat-7.0.78/bin/bootstrap.jar:/usr/local/src/apache-tomcat-7.0.78/bin/tomcat-juli.jar
Using CATALINA_BASE: /usr/local/src/apache-tomcat-7.0.78
Using CATALINA_HOME: /usr/local/src/apache-tomcat-7.0.78
Using CATALINA_TMPDIR: /usr/local/src/apache-tomcat-7.0.78/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/src/apache-tomcat-7.0.78/bin/bootstrap.jar:/usr/local/src/apache-tomcat-7.0.78/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]#
还有一个是增加线程池,不过我没有把这个配置成功,所以这里就不说了。
tomcat7简单优化的更多相关文章
- 一次千万级别的SQL查询简单优化体验
背景:从两张有关联的表查询数据,A表数据量1400万,B表数据量8000万.A与B通过ID逻辑关联,没有实际的外键.B表是后来扩展出来的. 问题:根据某个ID查询时超时,运行时跑不出结果. 原因:使用 ...
- 双数组trie树的基本构造及简单优化
一 基本构造 Trie树是搜索树的一种,来自英文单词"Retrieval"的简写,可以建立有效的数据检索组织结构,是中文匹配分词算法中词典的一种常见实现.它本质上是一个确定的有限状 ...
- [mysql] 2进制安装和简单优化
##################################mysql 2进制安装和简单优化################################################## ...
- 封装ajax,让调用变得简单优化
思考一下: 通常我们在使用ajax来发送接口请求时,每一次都会调用ajax固定的元素,比如data.url.method.success.error等.那么我们想一下能不能先把ajax封装起来,在每次 ...
- linux简单优化
1.简单优化 #关闭firewalld,selinux,NetworkManager systemctl(管理服务的命令) stop(关服务) firewalld (服务名称,d是demo的意思) s ...
- mysql的简单优化【简单易学】
1.选取最适用的字段属性: 表字段尽量设小,不要给数据库增加没必要的空间:如:值为'01'.'02',给char(2)即可: 2.使用连接(JOIN)来代替子查询(Sub-Queries): 使用jo ...
- mysql简单优化思路
mysql简单优化思路 作为开发人员,数据库知识掌握的可能不是很深入,但是一些基本的技能还是要有时间学习一下的.作为一个数据库菜鸟,厚着脸皮来总结一下 mysql 的基本的不能再基本的优化方法. 为了 ...
- mysql之优化器、执行计划、简单优化
mysql之优化器.执行计划.简单优化 2018-12-12 15:11 烟雨楼人 阅读(794) 评论(0) 编辑 收藏 引用连接: https://blog.csdn.net/DrDanger/a ...
- 【jQuery基础学习】11 jQuery性能简单优化
关于性能优化 合适的选择器 $("#id")会直接调用底层方法,所以这是最快的.如果这样不能直接找到,也可以用find方法继续查找 $("p")标签选择器也是直 ...
随机推荐
- C++各种类继承关系的内存布局
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- ng-table
需要的文件: angular.js ng-table.js ng-table.css bootrasp.css 注入依赖: var app = angular.module('app', [ 'ngT ...
- 如何查看.java文件的字节码(原码)
出自于:https://www.cnblogs.com/tomasman/p/6751751.html 直接了解foreach底层有些困难,我们需要从更简单的例子着手.下面上一个简单例子: 1 pub ...
- SharePoint Framework 企业向导(八)
博客地址:http://blog.csdn.net/FoxDave 构建关于SPFx自定义的计划 在SPFx引入的时候,你就需要对它进行规划了.规划要从介绍SPFx解决方案使用的新的技术栈开始.开 ...
- 分布式ID设计方案
分布式ID的定义: 全局唯一 有序性 有意义 高可用 紧凑性 序列号的可预测性 方案1:使用数据库递增的顺序 最常见的方式.利用数据库,全数据库唯一. 优点: 1)简单,代码方便,性能可以接受. 2) ...
- <YARN><MRv2><Spark on YARN>
MRv1 VS MRv2 MRv1: - JobTracker: 资源管理 & 作业控制- 每个作业由一个JobInProgress控制,每个任务由一个TaskInProgress控制.由于每 ...
- 百杂讲堂之为什么32位系统只能操作4g内存
百杂讲堂之为什么32位系统只能操作4g内存 计算机内存中很多的单元,每一个单元就是一个字节,一个字节有8位.每一个单元有两种状态:0和1. 所以 两个单元就有4个组合: 3个单元就有8个组合: 依次类 ...
- 2019-03-11-day009-函数定义
什么是函数 函数就是将许多冗余的代码进行整合统一调用的内存地址 函数怎么定义 def make(): print('掏出手机') print('打开微信') print('摇一摇') print('聊 ...
- three probing way of openadress hash
- Python 默认值字典
from collections import defaultdict # 默认值字典 dd = defaultdict(lambda: "胡辣汤") # callable 可调用 ...