|
tomcat 常用操作
1. 安装 tomcat
1.1 下载 32-bit Windows zip [apache-tomcat-7.0.4-windows-x86.zip]
http://tomcat.apache.org/download-70.cgi
1.2 解压 apache-tomcat-7.0.4-windows-x86.zip
d:/apache/apache-tomcat-7.0.4
|-bin
|-conf
|-lib
|-logs
|-temp
|-webapps
|-work [web 应用的临时目录]
|-...
# 定义 %TOMCAT_HOME% = d:/apache/apache-tomcat-7.0.4
1.3 启动 tomcat
%TOMCAT_HOME%/bin/startup.bat
1.4 访问 tomcat
http://localhost:8080/
1.5 关闭 tomcat
%TOMCAT_HOME%/bin/shutdown.bat
2. 部署 web 应用
2.1 方式一: 编写 context.xml 文件
# 新建 %TOMCAT_HOME%/conf/Catalina/localhost/my.xml
# 文件名 "my" 就是 web 应用的 contextPath
# my.xml 内容如下
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="D:\workspace\eclipse_wksp\MyWebApp\WebContent"
reloadable="true">
</Context>
# docBase 所指向的目录结构如下
.../WebContent
|-META-INF
|-WEB-INF
|-classes
|-lib
|-web.xml
|-index.jsp
|-...
# 启动 tomcat
# 访问 web 应用
http://localhost:8080/my
2.2 方式二: 将 web 应用直接复制到 %TOMCAT_HOME%/webapps 中
# 目录结构如下
%TOMCAT_HOME%/webapps/myweb
|-META-INF
|-WEB-INF
|-classes
|-lib
|-web.xml
|-index.jsp
|-...
# 目录名称 "myweb" 就是 web 应用的 contextPath
# 启动 tomcat
# 访问 web 应用
http://localhost:8080/myweb
2.3 方式三: .war 部署
# 直接将 MyWebApp.war 复制到 %TOMCAT_HOME%/webapps 中
# .war 结构如下
%TOMCAT_HOME%/webapps/MyWebApp.war
|-META-INF
|-WEB-INF
|-classes
|-lib
|-web.xml
|-index.jsp
|-...
# 启动 tomcat, tomcat 将自动解压 .war
# 其中 MyWebApp.war 的名称 "MyWebApp" 就是 web 应用的 contextPath
# 访问 web 应用
http://localhost:8080/MyWebApp
3. 配置多个虚拟主机
# 修改 %TOMCAT_HOME%/conf/server.xml
# 将 Engine 元素中的 Host 元素复制一份, 直接粘贴到原来那个 Host 元素之后
# 将第二个 Host 元素的 name 属性改为 "localhost2", appBase 属性改为 "webapps2"
# 创建目录 %TOMCAT_HOME%/conf/Catalina/localhost2
# 创建目录 %TOMCAT_HOME%/webapps2
# 将 web 应用 myapp 复制到 %TOMCAT_HOME%/webapps2
# 其中 myapp 目录结构如下
%TOMCAT_HOME%/webapps2/myapp
|-META-INF
|-WEB-INF
|-classes
|-lib
|-web.xml
|_index.jsp
|-...
# 编辑 C:\Windows\System32\drivers\etc\hosts
# 在 ubuntu 中为 /etc/hosts
# 添加下面一行内容
127.0.0.1 localhost2
# 启动 tomcat
# 访问 web 应用
http://localhost2:8080/myapp
4. 配置多个 Service
# 修改 %TOMCAT_HOME%/conf/server.xml
# 将 Service 元素复制一份,直接粘贴到原来那个 Service 元素之后
# 按照下列步骤修改第二个 Service 元素:
# 将 Service 元素的 name 属性改为 Catalina2
# 将第一个 Connector 元素的 port 属性由 8080 改为 8081
# 将第二个 Connector 元素的 port 属性由 8009 改为 8010
# 将 Engine 元素的 name 属性由 Catalina 改为 Catalina2,与 Service 的 name 属性保持一致
# 将 Host 元素的 appBase 属性由 webapps 改为 webapps2
# 创建目录
%TOMCAT_HOME%/conf/Catalina2/localhost
%TOMCAT_HOME%/webapps2
# 将 %TOMCAT_HOME%/webapps/ROOT 复制到 %TOMCAT_HOME%/webapps2
> xcopy webapps\ROOT webapps2\ROOT /E [windows]
$ cp webapps\ROOT webapps2\ROOT [linux]
# 启动 tomcat
# 访问 tomcat 主页
http://localhost:8080/
http://localhost:8081/
5. tomcat 内存溢出处理办法
# 修改 %TOMCAT_HOME%/bin/catalina.bat
# -Xms 初始堆大小
# -Xmx 最大堆大小
# -XX:PermSize 初始永久区大小
# -XX:MaxPermSize 最大永久区大小
set JAVA_OPTS=-server -Xincgc -Xms1024m -Xmx1024m -XX:MaxPermSize=256m
# 具体有哪些参数可查看 [java -X] 或
# http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
# http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html#resources
# 参考文章
# http://hi.baidu.com/wuyuwenct/blog/item/c3c9321de48e508787d6b6df.html
# http://www.duduwolf.com/wiki/2009/922.html
6. 使用 JRebel hot update .class
# 修改 %TOMCAT_HOME%/bin/catalina.bat
set JAVA_OPTS=%JAVA_OPTS% -noverify -javaagent:D:/library/lib_share/jrebel.jar
# 上述设置可以动态更新 WEB-INF/classes 中的 .class,
# 但对 WEB-INF/lib 中的 .jar 无效, 如果要动态更新 .jar,
# 需要创建 WEB-INF/classes/rebel.xml, 内容如下
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.zeroturnaround.com"
xsi:schemaLocation="http://www.zeroturnaround.com
http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">
<classpath>
<dir name="D:\workspace\eclipse_my\Test\WebContent\WEB-INF\classes"/>
</classpath>
</application>
# 引:http://www.zeroturnaround.com/jrebel/
附:
1. tomcat for eclipse plugin
http://www.eclipsetotale.com/tomcatPlugin.html
2. jndi
http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html#JDBC_Data_Sources
3. tomcat
http://www.ibm.com/developerworks/cn/education/java/j-tomcat/index.html
https://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/
http://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/
|
|
|