2.2. 配置 Tomcat 服务器

2.2.1. server.xml

2.2.1.1. Connector

tomcat 端口默认为8080, 可以通过修改下面port项改为80端口,但不建议你这样使用80端口,tomcat 会继承root权限,这是非常危险的做法。

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

性能调整

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

	<Connector port="8080" protocol="HTTP/1.1"
				maxThreads="2048"
				minSpareThreads="64"
				maxSpareThreads="256"
				acceptCount="128"
				enableLookups="false"
				redirectPort="8443"
				debug="0"
				connectionTimeout="20000"
				disableUploadTimeout="true"
				URIEncoding="UTF-8" />
maxThreads="4096"		最大连接数
minSpareThreads="50"	最小空闲线程
maxSpareThreads="100"	最大空闲线程
enableLookups="false"	禁止域名解析
acceptCount="15000"
connectionTimeout="30000"	超时时间
redirectPort="8443"
disableUploadTimeout="true"
URIEncoding="UTF-8"		UTF-8编码
protocol="AJP/1.3"		AJP协议版本
2.2.1.1.1. HTTPS
   <Connector port="443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               SSLEngine="on"
               SSLCertificateFile="${catalina.base}/conf/localhost.crt"
               SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />
2.2.1.1.2. compression

压缩传送数据

compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"
2.2.1.1.3. useBodyEncodingForURI

如果你的站点编码非UTF-8,去掉URIEncoding="UTF-8"使用下面选项.

useBodyEncodingForURI="true"

2.2.1.1.4. 隐藏Tomcat版本信息

在Connector中加入server="Neo App Srv 1.0"

vim $CATALINA_HOME/conf/server.xml

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
				maxThreads="8192"
				minSpareThreads="64"
				maxSpareThreads="128"
				acceptCount="128"
				enableLookups="false"
                server="Neo App Srv 1.0"/>
# curl -I http://localhost:8080/
HTTP/1.1 400 Bad Request
Transfer-Encoding: chunked
Date: Thu, 20 Oct 2011 09:51:55 GMT
Connection: close
Server: Neo App Srv 1.0
				

2.2.1.2. Context

配置虚拟目录

例如我们需要这样的配置

http://www.netkiller.cn/news
http://www.netkiller.cn/member
http://www.netkiller.cn/product
			

实现方法

<Host name="localhost"  appBase="/www/example.com" unpackWARs="true" autoDeploy="true">
	<Alias>www.example.com</Alias>

	<Context path="news" docBase="www.example.com/news" reloadable="false"></Context>
	<Context path="member" docBase="www.example.com/member" reloadable="false"></Context>
	<Context path="product" docBase="www.example.com/product" reloadable="false"></Context>

</Host>						
2.2.1.2.1. 应用程序安全

关闭war自动部署 unpackWARs="false" autoDeploy="false"。防止被植入木马等恶意程序

关闭 reloadable="false" 也用于防止被植入木马

2.2.1.2.2. JSESSIONID

修改 Cookie 变量 JSESSIONID, 这个cookie 是用于维持Session关系。建议你改为PHPSESSID。

<Context path="" docBase="path/to/your" reloadable="false" sessionCookieDomain=".example.com" sessionCookiePath="/" sessionCookieName="PHPSESSID" />				

2.2.2. tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>

<role rolename="manager"/>
<user username="tomcat" password="QI0Ajp7" roles="manager"/>

</tomcat-users>

状态监控 http://localhost/manager/status

服务管理 http://localhost/manager/html/list

<tomcat-users>
<!--
  NOTE:  By default, no user is included in the "manager-gui" role required
  to operate the "/manager/html" web application.  If you wish to use this app,
  you must define such a user - the username and password are arbitrary.
-->
<!--
  NOTE:  The sample user and role entries below are wrapped in a comment
  and thus are ignored when reading this file. Do not forget to remove
  <!.. ..> that surrounds them.
-->
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>

  <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="admin" password="admin" roles="admin-gui,admin-script"/>

</tomcat-users>

2.2.3. context.xml

context.xml 主要用于配置 数据库连接池

开启热部署,生产环境不建议使用

<Context reloadable="true">

2.2.3.1. Resources

org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/WEB-INF/lib/netkiller.jar] to the cache because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache

<Resources cachingAllowed="true" cacheMaxSize="100000" />

2.2.3.2. session cookie

<Context sessionCookieName="PHPSESSID" sessionCookieDomain=".example.com" sessionCookiePath="/">
	<!-- ... -->
</Context>			

2.2.4. logging.properties

修改日志目录

1catalina.org.apache.juli.FileHandler.level = FINE
#1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.directory = /www/logs/tomcat
1catalina.org.apache.juli.FileHandler.prefix = catalina.
		

2.2.5. catalina.properties

配置跳过扫描*.jar

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\*.jar
		

context.xml

<JarScanner scanClassPath="false"/>		

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

时间: 2024-10-31 07:05:30

2.2. 配置 Tomcat 服务器的相关文章

程序已经有了,怎么配置tomcat服务器

问题描述 程序已经有了,怎么配置tomcat服务器 现在是程序已经有了,Android模拟客户端也没问题,现在就是怎么配置tomcat服务器,需要哪些文件? 解决方案 采纳哦! 请参考: http://blog.csdn.net/jiangzaifu/article/details/7694491 解决方案二: http://www.csdn123.com/html/blogs/20130731/45676.htm希望有帮助

Ubuntu下配置Tomcat服务器以及设置自动启动的方法_java

既然是Ubuntu,那就要利用好"新立得软件包管理器"了. 1.Tomcat需要jdk的支持,所以先说一下jdk的安装,已经安装好了jdk的可以直接看第2条. 1.1安装jdk 在新立得中搜索"sun-java",安装最新的jdk,比如"sun-java6-jdk",然后点击应用就自动安装完成了. 1.2配置jdk环境变量 安装是自动的,但是配置需要自己动手了. 1.2.1修改用户环境变量 $ vi /home/fancy(你的用户名)/.bas

JAVA EE Eclipse下配置Tomcat服务器

在进行Java web编程之前,必须要进行web服务器的配置,这里选择在Java EE(版本) Eclipse中进行服务器的配置.当然了,在安装Java EE Eclipse之前要先安装JDK,并且要在环境变量中配置好JDK的安装目录,在这里不再多说,如果不清楚,可以看前面写的一篇"在win7下面安装JDK(以32位系统为例)"的文章.这里就假设你已经安装好了JDK,并且已经配置好环境变量.      Java EE Eclipse可以去Eclipse公司的网页上去下载最新版本的,但是

47.2. 配置 Tomcat 服务器

47.2.1. server.xml 47.2.1.1. Connector tomcat 端口默认为8080, 可以通过修改下面port项改为80端口,但不建议你这样使用80端口,tomcat 会继承root权限,这是非常危险的做法. <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

tomcat配置https服务器

只使用步骤1和4的话仅服务端认证 1.为tomcat生成证书,别名tomcat keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\home\tomcat.keystore -validity 36500   (单位天) 您的名字与姓氏是什么?"这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251](就是你将来要在浏览器中输入的访问地址),否则浏览器会弹出警告窗口,提示用户证

Tomcat服务器的安装配置图文教程(推荐)_服务器其它

现在将使用Tomcat的一些经验和心得写到这里,作为记录和备忘.如果有朋友看到,也请不吝赐教.   1.首先是Tomcat的获取和安装. 获取当然得上Apache的官方网站下载,开源免费,而且带宽也足够.下载会很快. 这是两种不同的下载,一个是普通安装版本,一个是解压安装版本.使用起来是一样的,只是在普通安装版本中有一些界面可提供对Tomcat的快捷设置,而且普通安装会将Tomcat作为系统服务进行注册. 2.Tomcat的运行环境搭建. (解压版)安装(就是解压)完成后如下: Tomcat的启

手把手教你----MyEclipse中 配置 Tomcat

电脑上配置Tomcat服务器 安装Tomcat并配置环境变量 测试是否配置成功 MyEclipse中配置Tomcat 想要开发Java Web的程序,首先在MyEclipse中必须配置Tomcat,一起来动手操作吧. 电脑上配置Tomcat服务器 安装Tomcat并配置环境变量 官网上下载Tomcat,记住你下载安装的版本,后面再MyEclipse中配置的时候会用到,安装时记住你安装的目录,安装成功后,配置环境变量,在系统环境变量中新建 输入的内容如下: 变量名:CATALINA_HOME 变量

详解Tomcat服务器绑定多域名和虚拟目录的方法_Tomcat

tomcat采用默认安装,要想tamcat直接绑定多个域名,这里我们需要修改配置文件:C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml server.xml 的修改方式如下:(一)多域名绑定1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80 原始: <Connector port="8080" maxHttpHeaderSize="8192"

Mac OS上安装Tomcat服务器的简单步骤_java

一. 下载tomcat 首先要到tomcat官网去下载安装包,官网下载地址如下:http://tomcat.apache.org/download-70.cgi , 注意请下载飞windows版本.和windows操作系统不一样,这个里面没有令人厌烦的注册表. 将压缩包解压到任意一个目录,我这里是存放到/ProgramFile/tomcat 目录下面   二. 修改授权 tomcat中的几个运行服务程序都是以*.sh结尾的,在运行之前需要授权.打开终端输入如下命令: 输入如下命令: sudo c