TOMCAT的目录结构
/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件
/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.html" class="superseo">xml和web.xml
/doc:存放Tomcat文档
/server:包含三个子目录:classes、lib和webapps
/server/lib:存放Tomcat服务器所需的各种JAR文件
/server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用
/common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件
/shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)
/logs:存放Tomcat执行时的日志文件
/src:存放Tomcat的源代码
/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
/work:存放JSP编译后产生的class文件
Tomact的一些小配置
标签: tomcatserver服务器jndi
1、配置Tomact的名称
当一台服务器启动太多的Tomact的时候,需要区别Tomact的名称,可以给启动的Tomact添加一个标题。如下:
在Tomact的bin目录下找到catalina.bat文件,用记事本打开。在中间找到 if "%TITLE%" == "" set TITLE=
在set TITLE中敲入你命名的Tomact的名称,重启Tomact即可。
2、配置Tomact的内存
在catalina.bat的第一行增加:
Java代码: set JAVA_OPTS=-server -Xms512m -Xmx2048m -XX:PermSize=64M -XX:MaxPermSize=512m -Djava.awt.headless=true
3、配置Tomact的虚拟文件路径
Tomact中配置虚拟文件路径(主要用于附件、图片等,前端直接使用虚拟路径访问附件、图片)
比如保存一张liuyuehu.jpg的图片,使用虚拟路径访问图片的配置:
在Tomact的localhost文件夹下面images.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<Context path="images" reloadable="false" docBase="D:\cdc\images"></Context>、
重启Tomact后,在浏览器中输入:http://127.0.0.1:8080/images/liuyuehu.jpg访问成功!虚拟图片路径配置成功!
4、配置Tomact中项目路径
Tomact集群时,不会采取每个Tomact都加载一份独立的代码,而使用共享同一份代码。使用tomcat配置项目路径来共享同一份代码。便于实施人员更新代码。
比如:都加载D:\java\project的代码。项目的上下文为 project(项目的上下文要和Tomact的localhost文件夹下面的文件XXX.xml名称一致)
在Tomact的localhost文件夹下面project.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/Admin" docBase="D:\java\project" debug="0" reloadable="false" ></Context>
重启Tomact后,在浏览器中输入:http://127.0.0.1:8080/project访问成功!虚拟图片路径配置成功!
5、Tomact中并发配置的优化
在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中。
参数的说明:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为 10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为 75
acceptCount:允许的最大连接数,应大于等于 maxProcessors ,默认值为 100
enableLookups:是否反查域名,取值为: true 或 false 。为了提高处理能力,应设置为 false
connectionTimeout:网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒。
其中和最大连接数相关的参数为maxProcessors 和 acceptCount 。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows 是 2000 个左右, Linux 是 1000 个左右。
更改后的配置
[html] view plain copy
1. <Connector port="8085" protocol="HTTP/1.1"
2. maxHttpHeaderSize="8192"
3. minProcessors="10"
4. maxProcessors="100"
5. connectionTimeout="20000"
6. acceptCount="1000"
7. disableUploadTimeout="true"
8. redirectPort="8443" />
6、
调整连接器connector的并发处理能力
在Tomcat 配置文件server.xml 中的<Connector ... /> 配置中。
maxThreads 客户请求最大线程数
socket
socket
true, 则支持域名解析,可把ip
SSL 的redirectPort
maxSpareThreads
connectionTimeout 连接超时
minProcessors 服务器创建时的最小处理线程数
maxProcessors 服务器同时最大处理线程数
URIEncoding URL统一编码
配置例子:
[html] view plain copy
1. <Connector port="9027"
2. protocol="HTTP/1.1"
3. maxHttpHeaderSize="8192"
4. maxThreads="1000"
5. minSpareThreads="100"
6. maxSpareThreads="1000"
7. minProcessors="100"
8. maxProcessors="1000"
9. enableLookups="false"
10. URIEncoding="utf-8"
11. acceptCount="1000"
12. redirectPort="8443"
13. disableUploadTimeout="true"/>
7、Tomact中的缓存处理
在Tomcat 配置文件server.xml 中的<Connector ... /> 配置中。
compression打开压缩功能
2KB
compressableMimeType压缩类型
. 如果为 -1,
配置例子:
[html] view plain copy
1. <Connector port="9027"
2. protocol="HTTP/1.1"
3. maxHttpHeaderSize="8192"
4. maxThreads="1000"
5. minSpareThreads="100"
6. maxSpareThreads="1000"
7. minProcessors="100"
8. maxProcessors="1000"
9. enableLookups="false"
10. compression="on"
11. compressionMinSize="2048"
12. compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
13. connectionTimeout="20000"
14. URIEncoding="utf-8"
15. acceptCount="1000"
16. redirectPort="8443"
17. disableUploadTimeout="true"/>
8、Tomact中配置JNDI数据源
在localhost中新建一个XML文件。
[html] view plain copy
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!-- docBase是项目的源代码的路径也可以是部署包的路径 path和文件名一致,也就是项目的上下文-->
3. <Context path="/zjwtView" docBase="D:\eclipseWork\zjwtView\WebRoot" debug="0" reloadable="false" >
4. <Resource name="jndi/view"
5. auth="Container"
6. type="javax.sql.DataSource"
7. driverClassName="net.sourceforge.jtds.jdbc.Driver"
8. url="jdbc:jtds:sqlserver://192.168.200.112:1433/cms_zhj_eabox"
9. username="cms_zhj_eabox"
10. password="p"
11. maxActive="50"
12. maxIdle="10"
13. maxWait="10000"
14. removeabandoned="true"
15. removeabandonedtimeout="60"
16. logabandoned="false"/>
17. <ResourceLink global="UserDatabase" name="users" type="org.apache.catalina.UserDatabase"/>
18. <Logger className="org.apache.catalina.logger.FileLogger" prefix="zjwtView-jndi." suffix=".log" timestamp="true"/>
19. </Context>
在项目中web.xml中配置一下代码
[html] view plain copy
1. <resource-ref>
2. <res-ref-name>jndi/zjxfView</res-ref-name><!--jndi/zjxfView 就是localhost中文件的名称-->
3. <res-type>javax.sql.DataSource</res-type>
4. <res-auth>Container</res-auth>
5. <res-sharing-scope>Shareable</res-sharing-scope>
6. </resource-ref>
Tomact配置域名
标签: Tomact域名服务器
总结一下Tomact中配置域名。
第一种方式:(个人认为是最简单,我经常使用的)
第一步:建立一个空的web工程
第二步:在web工程中建立一个index.html
打开index.html。写入一下代码:
[html] view plain copy
1. <html>
2. <script type="text/javascript">
3. window.location.href="http://www.liuyuehu.com/portal";
4. </script>
5. </html>
第三步:修改一下Web.xml文件,如下:
[html] view plain copy
1. <?xml version="1.0" encoding="UTF-8"?>
2. <web-app version="2.4"
3. xmlns="http://java.sun.com/xml/ns/j2ee"
4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
6. >
7. <welcome-file-list>
8. <welcome-file>index.html</welcome-file>
9. </welcome-file-list>
10. </web-app>
第四步:在Tomact中的Server.xml中添加这个空项目的路径即可。修改如下:
添加一个<Context path="空项目的路径" debug = "0" reloadbale="false"></Context>
[html] view plain copy
1. <Host name="localhost" appBase="webapps"
2. unpackWARs="true" autoDeploy="true"
3. xmlValidation="false" xmlNamespaceAware="false">
4. <Context path="" docBase="D:\zjxfTomcat\zjxf" debug="0" reloadable="false" ></Context>
5. </Host>
重启Tomact域名配置就生效了,是不是很简单。下面讲第二种配置方式。
第二种方式:
1. 打开Tomcat安装目录下的/conf/server.xml文件
为了方便将Tomcat的port改为80在server.xml中将原有的<Host name=“localhost“appBase=“webapps“ ……>修改为<Host name=“您要配置的域名(www.liuyuehu.com)“ appBase=“webapps“……>2. 在/conf/Catalina目录下建立目录“<liuyuehu.com>”,然后建立ROOT.xml文件,其格式和 /Catalina/localhost目录下的ROOT.xml一致,但是内容如下:
<?xml version='1.0' encoding='utf-8'?>
<Context displayName="Welcome to you!" docBase="D:/Tomcat 5./webapps/bayestore/jsp" path="">
</Context>其中docBase中的内容就是你希望的打开您的域名(www.liuyuehu.com) 的时候映射到的目录和默认的网页(如:index.jsp)3. 启动Tomcat服务器,就可以直接敲入域名访问你要访问的地址了。
提供上述两种方式,认为哪种好就用哪种吧。我一般采用第一种方式,简单。
Java Web开发: Tomcat中部署项目的三种方法
2015-06-02 17:11:37 阅读: 386 评论: 0 收藏: 0 [点我收藏+]
标签:
web开发,在tomcat中部署项目的方法:
注意大小写
1、在conf目录中新建Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,改xml文件的内容为:
<Context path="/qxmobile" docBase="/usr/local/webroot/qxmobile"
reloadable="false" debug="0"
privileged="true" >
</Context>
xml的文件名必须和path的名字一致。
2、直接放到Webapps目录下
Tomact的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。也可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成同名的文件夹,一个war包就是有特性格式的jar包,它是讲一个Web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse、NetBeans、ant、JBuilder等。也可以用cmd
命令: jar -cvf applicationname.war package.*
Webapps这个默认的应用目录也可以改变。打开Tomcat的conf目录下的server.xml文件,找打下面的内容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
将appBase修改即可.
3 . 在server.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context, 可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建立一个Context,内容如下。
在tomcat中的conf目录下,在server.xml中,<host/>节点中添加:
<Context paht="/hello" docBase="" debug="0" privileged="true"></Context>
(1)path是虚拟路径;
path:是访问时的根地址,表示访问的路径;如上述例子中,访问该应用程序地址如下:http://localhost:8080/hello/
(2)docBase是应用程序的物理路径;
(3)workDir是这个应用的工作目录,存放运行时生成的这个应用相关的文件;
(4)debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息;
(5)privileged 设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
(6)reloadable如果为true则tomcat会自动检测应用程序的/WEB-INF/lib 和 /WEB-INF/classes 目录的变化,自动装载新的应用程序,可以再不重启tomcat的情况下改变应用程序,实现热部署 antiResourseLocking 和 antiJARLocking 热部署是需要篇配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把响应的源文件和jar文件复制到一个临时目录里。
这个方法可以定义别名,服务器端运行的项目名称为path, 外部访问的URL则使用XML的文件名。这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效。
注意:
二 动态部署
登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。
在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。
XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcx.xml文件,内容如下: <Context reloadable="false" />其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。
如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。
tomcat部署web应用主要有以下几种方式:
1.拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。
2.为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。这个web应用本身可以存储在硬盘上的任何地方。这种context片断提供了一种便利的方法来部署web应用,你不需要编辑server.xml,除非你想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。
3.
同方法2,只是将context片断放在CATALINA_BASE\conf\Catalina\localhost目录下.这种方法比方法2>要有效,笔者经过多次实验发现方法2不如后面这种方法好用.前者多次出现系统打不开的情况.
4.直接在server.xml中</Host>前加上Context片断,使用这种方法时,tomcat会自动在CATALINA_BASE\conf\Catalina\localhost目录下生成一个文件片断.方法同方法3具有同样效果.这种方式需要将ROOT目录删除才行.
另外,为了让tomcat只运行conf/server.xml中指定的web应用,可以有以下几种办法:
实现一:
1)将要部署的WEB应用放在webapps以外的路径, 并在server.xml相应的context中的docBase指定.
2)删除webapps中的所有文件夹, 以及conf/catalina/localhost下所有xml文件.
注: webapps是server.xml中的Host元素的appBase属性的值.
实现二:
1) 修改server.xml中Host元素的属性, 添加或修改: deployXML="false"
deployOnStartup="false" autoDeploy="false"
2) 含义:
deployXML="false": 不部署conf/catalina/localhost下的xml相应的WEB应用
deployOnStartup="false" : tomcat启动时, 不部署webapps下的所有web应用
autoDeploy="false": 避免tomcat在扫描改动时, 再次把webapps下的web应用给部署进来.
1、配置Tomact的名称
当一台服务器启动太多的Tomact的时候,需要区别Tomact的名称,可以给启动的Tomact添加一个标题。如下:
在Tomact的bin目录下找到catalina.bat文件,用记事本打开。在中间找到 if "%TITLE%" == "" set TITLE=
在set TITLE中敲入你命名的Tomact的名称,重启Tomact即可。
2、配置Tomact的内存
在catalina.bat的第一行增加:
Java代码: set JAVA_OPTS=-server -Xms512m -Xmx2048m -XX:PermSize=64M -XX:MaxPermSize=512m -Djava.awt.headless=true
3、配置Tomact的虚拟文件路径
Tomact中配置虚拟文件路径(主要用于附件、图片等,前端直接使用虚拟路径访问附件、图片)
比如保存一张liuyuehu.jpg的图片,使用虚拟路径访问图片的配置:
在Tomact的localhost文件夹下面images.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<Context path="images" reloadable="false" docBase="D:\cdc\images"></Context>、
重启Tomact后,在浏览器中输入:http://127.0.0.1:8080/images/liuyuehu.jpg访问成功!虚拟图片路径配置成功!
4、配置Tomact中项目路径
Tomact集群时,不会采取每个Tomact都加载一份独立的代码,而使用共享同一份代码。使用tomcat配置项目路径来共享同一份代码。便于实施人员更新代码。
比如:都加载D:\java\project的代码。项目的上下文为 project(项目的上下文要和Tomact的localhost文件夹下面的文件XXX.xml名称一致)
在Tomact的localhost文件夹下面project.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/Admin" docBase="D:\java\project" debug="0" reloadable="false" ></Context>
重启Tomact后,在浏览器中输入:http://127.0.0.1:8080/project访问成功!虚拟图片路径配置成功!
5、Tomact中并发配置的优化
在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中。
参数的说明:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为 10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为 75
acceptCount:允许的最大连接数,应大于等于 maxProcessors ,默认值为 100
enableLookups:是否反查域名,取值为: true 或 false 。为了提高处理能力,应设置为 false
connectionTimeout:网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒。
其中和最大连接数相关的参数为maxProcessors 和 acceptCount 。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows 是 2000 个左右, Linux 是 1000 个左右。
更改后的配置
[html] view plain copy
1. <Connector port="8085" protocol="HTTP/1.1"
2. maxHttpHeaderSize="8192"
3. minProcessors="10"
4. maxProcessors="100"
5. connectionTimeout="20000"
6. acceptCount="1000"
7. disableUploadTimeout="true"
8. redirectPort="8443" />
6、
调整连接器connector的并发处理能力
在Tomcat 配置文件server.xml 中的<Connector ... /> 配置中。
maxThreads 客户请求最大线程数
socket
socket
true, 则支持域名解析,可把ip
SSL 的redirectPort
maxSpareThreads
connectionTimeout 连接超时
minProcessors 服务器创建时的最小处理线程数
maxProcessors 服务器同时最大处理线程数
URIEncoding URL统一编码
配置例子:
[html] view plain copy
1. <Connector port="9027"
2. protocol="HTTP/1.1"
3. maxHttpHeaderSize="8192"
4. maxThreads="1000"
5. minSpareThreads="100"
6. maxSpareThreads="1000"
7. minProcessors="100"
8. maxProcessors="1000"
9. enableLookups="false"
10. URIEncoding="utf-8"
11. acceptCount="1000"
12. redirectPort="8443"
13. disableUploadTimeout="true"/>
7、Tomact中的缓存处理
在Tomcat 配置文件server.xml 中的<Connector ... /> 配置中。
compression打开压缩功能
2KB
compressableMimeType压缩类型
. 如果为 -1,
配置例子:
[html] view plain copy
1. <Connector port="9027"
2. protocol="HTTP/1.1"
3. maxHttpHeaderSize="8192"
4. maxThreads="1000"
5. minSpareThreads="100"
6. maxSpareThreads="1000"
7. minProcessors="100"
8. maxProcessors="1000"
9. enableLookups="false"
10. compression="on"
11. compressionMinSize="2048"
12. compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
13. connectionTimeout="20000"
14. URIEncoding="utf-8"
15. acceptCount="1000"
16. redirectPort="8443"
17. disableUploadTimeout="true"/>
8、Tomact中配置JNDI数据源
在localhost中新建一个XML文件。
[html] view plain copy
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!-- docBase是项目的源代码的路径也可以是部署包的路径 path和文件名一致,也就是项目的上下文-->
3. <Context path="/zjwtView" docBase="D:\eclipseWork\zjwtView\WebRoot" debug="0" reloadable="false" >
4. <Resource name="jndi/view"
5. auth="Container"
6. type="javax.sql.DataSource"
7. driverClassName="net.sourceforge.jtds.jdbc.Driver"
8. url="jdbc:jtds:sqlserver://192.168.200.112:1433/cms_zhj_eabox"
9. username="cms_zhj_eabox"
10. password="p"
11. maxActive="50"
12. maxIdle="10"
13. maxWait="10000"
14. removeabandoned="true"
15. removeabandonedtimeout="60"
16. logabandoned="false"/>
17. <ResourceLink global="UserDatabase" name="users" type="org.apache.catalina.UserDatabase"/>
18. <Logger className="org.apache.catalina.logger.FileLogger" prefix="zjwtView-jndi." suffix=".log" timestamp="true"/>
19. </Context>
在项目中web.xml中配置一下代码
[html] view plain copy
1. <resource-ref>
2. <res-ref-name>jndi/zjxfView</res-ref-name><!--jndi/zjxfView 就是localhost中文件的名称-->
3. <res-type>javax.sql.DataSource</res-type>
4. <res-auth>Container</res-auth>
5. <res-sharing-scope>Shareable</res-sharing-scope>
6. </resource-ref>
总结一下Tomact中配置域名。
第一种方式:(个人认为是最简单,我经常使用的)
第一步:建立一个空的web工程
第二步:在web工程中建立一个index.html
打开index.html。写入一下代码:
[html] view plain copy
1. <html>
2. <script type="text/javascript">
3. window.location.href="http://www.liuyuehu.com/portal";
4. </script>
5. </html>
第三步:修改一下Web.xml文件,如下:
[html] view plain copy
1. <?xml version="1.0" encoding="UTF-8"?>
2. <web-app version="2.4"
3. xmlns="http://java.sun.com/xml/ns/j2ee"
4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
6. >
7. <welcome-file-list>
8. <welcome-file>index.html</welcome-file>
9. </welcome-file-list>
10. </web-app>
第四步:在Tomact中的Server.xml中添加这个空项目的路径即可。修改如下:
添加一个<Context path="空项目的路径" debug = "0" reloadbale="false"></Context>
[html] view plain copy
1. <Host name="localhost" appBase="webapps"
2. unpackWARs="true" autoDeploy="true"
3. xmlValidation="false" xmlNamespaceAware="false">
4. <Context path="" docBase="D:\zjxfTomcat\zjxf" debug="0" reloadable="false" ></Context>
5. </Host>
重启Tomact域名配置就生效了,是不是很简单。下面讲第二种配置方式。
第二种方式:
- 打开Tomcat安装目录下的/conf/server.xml文件
为了方便将Tomcat的port改为80在server.xml中将原有的<Host name=“localhost“appBase=“webapps“ ……>修改为<Host name=“您要配置的域名(www.liuyuehu.com)“ appBase=“webapps“……> - 在/conf/Catalina目录下建立目录“<liuyuehu.com>”,然后建立ROOT.xml文件,其格式和 /Catalina/localhost目录下的ROOT.xml一致,但是内容如下:
<?xml version='1.0' encoding='utf-8'?>
<Context displayName="Welcome to you!" docBase="D:/Tomcat 5./webapps/bayestore/jsp" path="">
</Context>其中docBase中的内容就是你希望的打开您的域名(www.liuyuehu.com) 的时候映射到的目录和默认的网页(如:index.jsp) - 启动Tomcat服务器,就可以直接敲入域名访问你要访问的地址了。
提供上述两种方式,认为哪种好就用哪种吧。我一般采用第一种方式,简单。