开发人员在本地提交更新到SVN服务器后,往往需要测试人员重新测试。为了将更新内容即时反映到测试服务器,可以利用post-commit脚本将SVN更新同步到测试服务器中。
(1)利用SVN的工作副本(WORKINGCOPY)创建TOMCATWEB项目
cd /opt/tomcat_home/webapps
svn co svn://svn_host/prjname/trunk prjname
修改tomcat的配置文件server.xml,在HOST标签中添加如下内容
<Context crossContext="false" path="/prjname" docBase="prjname/WebContent/" reloadable="true"></Context>
在上述配置文件中,
path指明的是通过浏览器访问该项目网页时在服务器IP及访问PORT后的路径。例如通过本地服务器访问该网页时的访问URL应为:8080/prjname。如果指明path=””,则表明访问:8080/时自动引导到docBase指定的项目。
docBase指明WEB项目的相对路径或绝对路径。例如上述例示中指明相对路径为HOST标签所指定的appBase下prjname/WebContent文件夹。需要注意的是文件夹的名字可以为任何有效目录名,但tomcat的WEB项目必须遵照特定的目录结构存放。
web_home ++
|-- index.html
|-- webpage_files
|++ webpage_folder
|-- webpage_files
|++ javascript_folder
|-- javascript_files
|++ css_folder
|-- css_files
|++ META-INF
|-- MAINFEST.INF
|++ WEB-INF
|++ classes
|-- class_files
|++ lib
|-- jar_lib_files
|-- web.xml
静态页面(*.html,*.js and*.jsp等)文件或文件夹放在WEB根目录(prjname/WebContent)下;编译后的类文件放在prjname/WebContent/WEB-INF/classes文件夹下;项目配置文件例如db.properites和web.xml等放在prjname/WebContent/WEB-INF/目录下,tomcat加载WEB项目时,会读入并分析这些配置文件,初始化一些运行配置。WEB-INF/文件夹下的资源和文件时不能被客户端通过URL访问;项目所用的库文件放在prjname/WebContent/WEB-INF/lib文件夹下,但注意这里的库文件不能和TOMCAT自带的库文件重复,否则,在生成库中的类的类对象时,会出现类定义冲突。TOMCAT按照上述文件结构解析WEB项目。事实上,将WEB项目打包成WAR文件发布时,也必须安装上述结构组织源文件,而TOMCAT解压WAR文件后形成的WEB项目,和这里手动发布的WEB项目应是一样的。
需要注意到是,利用svn checkout构建WEB项目,一般只适用于构建测试环境的情况。实际发布为产品时,应使用svn export导出不含更新配置文件的干净版本后,最好打包成WAR文件发布。
--------------------------------------分割线 --------------------------------------
实例详解Tomcat组件安装+Nginx反向代理Tomcat+Apache使用mod_jk和mod_proxy反向代理和负载均衡
CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
--------------------------------------分割线 --------------------------------------