下载地址:
一、Tomcat7安装 1.安装jdk
[root@web ~]# chmod +x jdk-6u3-linux-i586.bin
[root@web ~]# ./jdk-6u3-linux-i586.bin         #按回车到最后输入yes
[root@web ~]# mv jdk1.6.0_03 /usr/local/
[root@web ~]# vim /etc/profile            #配置环境变量
  1. #set java JDK  
  2. JAVA_HOME=/usr/local/jdk1.6.0_03/  
  3. JRE_HOME=/usr/local/jdk1.6.0_03/jre/  
  4. PATH=$PATH:$JAVA_HOME/bin:$JRE_home/bin  
  5. CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar  
  6. export JAVA_HOME  
  7. export JRE_HOME  
  8. export PATH  
  9. export CLASSPATH  

[root@web ~]# source /etc/profile        #刷新环境变量 2.安装tomcat
[root@web ~]# tar zxf apache-tomcat-7.0.27.tar.gz
[root@web ~]# cp -a apache-tomcat-7.0.27/ /usr/local/tomcat7 3.启动服务并测试
[root@web ~]# /usr/local/tomcat7/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat7
Using CATALINA_HOME:   /usr/local/tomcat7
Using CATALINA_TMPDIR: /usr/local/tomcat7/temp
Using JRE_HOME:        /usr/local/jdk1.6.0_03/jre/
Using CLASSPATH:       /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar [root@web ~]# netstat -ant | grep 8080        #查看端口监听
tcp        0      0 :::8080                     :::*                        LISTEN tomcat

5.Tomcat自动启动脚本

  1. #!/bin/bash  
  2. # chkconfig: 2345 10 90  
  3. # description: Starts and Stops the Tomcat daemon.  
  4. TOMCAT_HOME=/usr/local/tomcat7              #tomcat目录 
  5. TOMCAT_START=$TOMCAT_HOME/bin/startup.sh  
  6. TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh  
  7. # necessary environment variables export  
  8. CATALINA_HOME=$TOMCAT_HOME  
  9. export JAVA_HOME=/usr/local/jdk1.6.0_03/        #JDK目录 
  10. # source function library.  
  11. . /etc/rc.d/init.d/functions  
  12. # check that networking is up.  
  13. [ "${NETWORKING}" = "no" ] && exit 0  
  14. # check for tomcat script  
  15. if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]; then 
  16.         echo "Tomcat not valilable..."  
  17.         exit  
  18. fi  
  19. start(){  
  20.         echo -n "Starting Tomcat: "  
  21.         daemon $TOMCAT_START  
  22.         echo  
  23.         touch /var/lock/subsys/tomcat  
  24. }  
  25. stop(){  
  26.         echo -n $"Shutting down Tomcat: "  
  27.         daemon $TOMCAT_STOP  
  28.         rm -f /var/lock/subsys/tomcat.pid echo  
  29. }  
  30. restart(){  
  31.         stop  
  32.         start  
  33. }  
  34. status(){  
  35.         ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" \ 
  36.         | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt  
  37.         read line < /tmp/tomcat_process_count.txt  
  38.         if [ $line -gt 0 ]; then  
  39.                 echo -n "tomcat ( pid "  
  40.                 ps ax --width=1000 | grep "org.apache.catalina.startup.Bootstrap \ 
  41.                 start" | awk '{printf $1 " "}'  
  42.                 echo -n ") is running..."  
  43.                 echo  
  44.         else  
  45.                 echo "Tomcat is stopped"  
  46.         fi  
  47. }  
  48. case "$1" in  
  49.         start)  
  50.                 start ;;  
  51.         stop)  
  52.                 stop ;;  
  53.         restart)  
  54.                 stop  
  55.                 sleep 3  
  56.                 start ;;  
  57.         status)  
  58.                 status ;;  
  59.         *)  
  60.                 echo "Usage: tomcatd {start|stop|restart|status}"  
  61.                 exit 1  
  62. esac  
  63. exit 0 

将脚本文件保存在/etc/init.d中,命名为tomcat
[root@web ~]# chmod +x /etc/init.d/tomcat
[root@web ~]# chkconfig --add tomcat

二、Tomcat使用
1.tomcat管理项目页面
[root@web ~]# cd /usr/local/tomcat7/conf/
[root@web conf]# vim tomcat-users.xml 
  1. <tomcat-users> 
  2.   <role rolename="tomcat"/> 
  3.   <role rolename="role1"/> 
  4.   <user username="tomcat" password="tomcat" roles="tomcat"/> 
  5.   <user username="both" password="tomcat" roles="tomcat,role1"/> 
  6.   <user username="role1" password="tomcat" roles="role1"/> 
  7.   <role rolename="manager-gui"/> 
  8.   <user username="admin" password="abc123" roles="manager-gui"/>    #加入的行 
  9. </tomcat-users> 

打开管理页面:http://192.168.209.129:8080/manager/htmlmanager

2.虚拟主机

基于域名,在原配置server.xml中</host>后加入
  1. <Host name="web1.example.com"  appBase="webapps1" 
  2.       unpackWARs="true" autoDeploy="true"> 
  3.  
  4.   <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
  5.          prefix="web1_access_log." suffix=".txt" 
  6.          pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
  7. </Host> 
注:
name:绑定的域名
appBase: 网站存放目录,这里使用相对路径也可以是绝对路径。目录中要有ROOT目录,把网站内容放在ROOT中。
unpackWARs属性如果为true就表明在appBase下的应用如果是打包好的WAR文件,则会先打开WAR包再运行,如果值为false就会直接运行WAR包。 
autoDeploy属性的值为布尔类型,如果为true,则Tomcat在运行状态时,能够监测到appBase下的文件,如果有新的应用加入则会自动发布这个应用。 
prefix:访问日记,存入在logs目录下。
 
3.与apache整合
安装apache
[root@web ~]# tar zxf httpd-2.2.22.tar.gz [root@web ~]# cd httpd-2.2.22
[root@web httpd-2.2.22]# ./configure --prefix=/usr/local/apache2 #测试不加太多参数
[root@web httpd-2.2.22]# make && make install
[root@web httpd-2.2.22]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
[root@web httpd-2.2.22]# ln -s /etc/init.d/httpd /etc/rc3.d/S80httpd
 
安装tomcat-connectors
[root@web ~]# tar zxf tomcat-connectors-1.2.35-src.tar.gz 
[root@web ~]# cd tomcat-connectors-1.2.35-src/native/
[root@web native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs 
[root@web native]# make && make install
 
整合
在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties
修改httpd.conf加载JK模块以及指定JK配置文件,加入以下行
  1. LoadModule jk_module modules/mod_jk.so 
  2. Include /usr/local/apache2/conf/mod_jk.conf 
编写mod_jk.conf用于apache到Tomcat服务器的连接定义文件  
[root@web conf]# vim mod_jk.conf 
  1. # Where to find workers.properties  
  2. JkWorkersFile /usr/local/apache2/conf/workers.properties  
  3. # Where to put jk logs  
  4. JkLogFile /usr/local/apache2/logs/mod_jk.log  
  5. # Set the jk log level [debug/error/info]  
  6. JkLogLevel info  
  7. # Select the log format  
  8. JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"  
  9. # JkRequestLogFormat set the request format  
  10. JkRequestLogFormat "%w %V %T"  
  11. # JkOptions indicate to send SSL KEY SIZE,  
  12. JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 
  13. # Send JSPs for context /examples to worker named worker  
  14. JkMount /*.jsp worker1  
  15. JkMount /servlet/* worker1 
编写workers.propertiesURI映像文件,用来指定哪些URL由Tomcat处理
[root@web conf]# vim workers.properties
  1. # Define 1 real worker using ajp13  
  2. worker.list=worker1   
  3.  
  4. # Set properties for worker1 (ajp13)  
  5. worker.worker1.type=ajp13   
  6. worker.worker1.host=localhost   
  7. worker.worker1.port=8009   
  8. worker.worker1.lbfactor=50   
  9. worker.worker1.cachesize=10   
  10. worker.worker1.cache_timeout=600   
  11. worker.worker1.socket_keepalive=1   
  12. worker.worker1.socket_timeout=300  
 
在tomcat的配置server.xml中的<host>中加入以下行
  1. <Context path="" docBase="/var/www/html" debug="0" reloadable="true" crossContext="true"/> 
测试,web目录建立test.jsp
[root@web html]# cat test.jsp 
  1. <%@page language="java"%> 
  2. 100+200=<%=100+200%> 
重启apache、tomcat服务,浏览器打开
apachetomtest