编译安装tomcat实践

编译安装tomcat实践

前些时候困惑于一个tomcat服务的性能问题,查明原因后想试着改改tomcat源码,然后再编译、发布。现将自己编译的过程整理成文。

1 安装ant

官网下载最新ant:apache-ant-1.9.7-bin.tar.gz,解压。ant为绿色软件,解压即安装。

~$ tar -zxvf apache-ant-1.9.7-bin.tar.gz

2 编译启动tomcat7

说明: 我的Linux上安装的是jdk1.6,生产环境使用tomcat7。

官网http://tomcat.apache.org/download-70.cgi上下载tomcat 7源码:
apache-tomcat-7.0.73-src.tar.gz,解压

~$ wget http://apache.communilink.net/tomcat/tomcat-7/v7.0.73/src/apache-tomcat-7.0.73-src.tar.gz #官网获取的下载地址
~$ tar -zxvf apache-tomcat-7.0.73-src.tar.gz
~$ cd apache-tomcat-7.0.73-src/
~/apache-tomcat-7.0.73-src$ ../apache-ant-1.9.7/bin/ant #用ant编译,这个过程一定要保证网络畅通,下载的文件保存在base.path=${user.home}/tomcat-build-libs目录下,该配置在./build.properties.default文件中
~/apache-tomcat-7.0.73-src$ cd output/build/  #结果保存在output目录下
~/apache-tomcat-7.0.73-src/output/build$ bin/startup.sh #启动tomcat
 tomcat自身日志为当前目录的logs/catalina.2016-10-20.log,access log为logs/localhost_access_log.2016-10-20.txt

简化后的配置文件conf/server.xml

<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  Service>
Server>

上面为默认配置,可以看到有三个端口号,其中8080为 http的监听端口。

3 访问

部署在ip为172.17.2.201的机器上,浏览器中访问http://172.17.2.201:8080/可以看到tomcat主页

关闭tomcat服务:

~/apache-tomcat-7.0.73-src/output/build$ bin/shutdown.sh

4 如何查看线上tomat使用的是哪个源码版本?

启动后,catalina日志中有类似 “INFO: Starting Servlet Engine: Apache Tomcat/7.0.52”的日志,可知使用的是tomcat 7.0.52。
官网http://tomcat.apache.org/download-70.cgi上点击Archives,可以看到tomcat7的各个版本。apache-tomcat-7.0.52-src.tar.gz的地址为:
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.52/src/apache-tomcat-7.0.52-src.tar.gz

5 编译apache-tomcat-7.0.52

~$ wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.52/src/apache-tomcat-7.0.52-src.tar.gz #下载apache-tomcat-7.0.52-src.tar.gz
~$ tar -zxvf apache-tomcat-7.0.52-src.tar.gz
~$ cd apache-tomcat-7.0.52-src 

修改build.properties.default里的
base.path=/usr/share/java为base.path= user.home/tomcatbuildlibs/usr/share/javabase.path= {user.home}/tomcat-build-libs) 然后继续

~/apache-tomcat-7.0.52-src$ ../apache-ant-1.9.7/bin/ant  #网络要畅通

你可能感兴趣的:(Java,tomcat)