生产环境下我们不应该使用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简单优化的更多相关文章

  1. 一次千万级别的SQL查询简单优化体验

    背景:从两张有关联的表查询数据,A表数据量1400万,B表数据量8000万.A与B通过ID逻辑关联,没有实际的外键.B表是后来扩展出来的. 问题:根据某个ID查询时超时,运行时跑不出结果. 原因:使用 ...

  2. 双数组trie树的基本构造及简单优化

    一 基本构造 Trie树是搜索树的一种,来自英文单词"Retrieval"的简写,可以建立有效的数据检索组织结构,是中文匹配分词算法中词典的一种常见实现.它本质上是一个确定的有限状 ...

  3. [mysql] 2进制安装和简单优化

    ##################################mysql 2进制安装和简单优化################################################## ...

  4. 封装ajax,让调用变得简单优化

    思考一下: 通常我们在使用ajax来发送接口请求时,每一次都会调用ajax固定的元素,比如data.url.method.success.error等.那么我们想一下能不能先把ajax封装起来,在每次 ...

  5. linux简单优化

    1.简单优化 #关闭firewalld,selinux,NetworkManager systemctl(管理服务的命令) stop(关服务) firewalld (服务名称,d是demo的意思) s ...

  6. mysql的简单优化【简单易学】

    1.选取最适用的字段属性: 表字段尽量设小,不要给数据库增加没必要的空间:如:值为'01'.'02',给char(2)即可: 2.使用连接(JOIN)来代替子查询(Sub-Queries): 使用jo ...

  7. mysql简单优化思路

    mysql简单优化思路 作为开发人员,数据库知识掌握的可能不是很深入,但是一些基本的技能还是要有时间学习一下的.作为一个数据库菜鸟,厚着脸皮来总结一下 mysql 的基本的不能再基本的优化方法. 为了 ...

  8. mysql之优化器、执行计划、简单优化

    mysql之优化器.执行计划.简单优化 2018-12-12 15:11 烟雨楼人 阅读(794) 评论(0) 编辑 收藏 引用连接: https://blog.csdn.net/DrDanger/a ...

  9. 【jQuery基础学习】11 jQuery性能简单优化

    关于性能优化 合适的选择器 $("#id")会直接调用底层方法,所以这是最快的.如果这样不能直接找到,也可以用find方法继续查找 $("p")标签选择器也是直 ...

随机推荐

  1. RabbitMQ 消息应答机制(message acknowledgments)

    消息应答机制是一个很重要的功能,它能保证消息队列中的某个消息是否被成功处理.如果RabbitMQ server收到Consumer端发来的应答信号,就会将Consumer刚才处理的消息删除,并发送下一 ...

  2. 二. Python基础(2)--语法

    二. Python基础(2)--语法 1.实现一个简单的登录系统 '''# 形式1 n = 1 while n < 4:     name = input("请输入姓名\n" ...

  3. Android : 修改内核源码 and 编译、打包成新的boot.img

    一.Android内核源码的下载: 1.Google GIT地址: $ git clone https://android.googlesource.com/kernel/common.git $ g ...

  4. 输入系统:epoll & inotify

    一.epoll 作用:检测一个或多个文件的可读.可写等属性变化: 代码示例: #include <sys/epoll.h> #include <stdio.h> #includ ...

  5. log4net 2.0.8 不支持core 数据库记录日志

    经过反编译log4net 标准库的代码,原本有的数据库链接AdoNetAppender 在core里面引用的,没有掉了. 可能新版本会有.

  6. DevExpress ASP.NET Bootstrap Controls v18.2新功能详解(一)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress ASP.NET Boot ...

  7. vue项目功能

    vue-router         {            path: '/',            name: 'home',            // 路由的重定向            ...

  8. HDU 6060 17多校3 RXD and dividing(树+dfs)

    Problem Description RXD has a tree T, with the size of n. Each edge has a cost.Define f(S) as the th ...

  9. Netty核心概念

    一个Netty程序始于Bootstrap类,Bootstrap类是Netty提供的一个可以通过简单配置来设置或“引导”程序的一个重要的类.Netty中设计了Handlers来处理特定的"ev ...

  10. 基于NEO的私链(Private Blockchain)

    1.准备工作 1.NEO-GUI 2.NEO-CLI 3..NET Core Runtime (不能是2.x版本,官方建议是1.12,实际上我用1.14也是没有问题的) 4.四台windows操作系统 ...