centos下的tomcat6安装
Install Tomcat6. JAVA SE Kit and WEB server is also needed on this example.Install and configure Tomcat6.
# wget http://ftp.riken.jp/net/apache/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.tar.gz
# tar zxvf apache-tomcat-6.0.14.tar.gz
# mv apache-tomcat-6.0.14 /usr/tomcat6
# useradd -d /usr/tomcat6 -s /sbin/nologin tomcat
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
# chown -R tomcat. /usr/tomcat6
Create starting or stopping script.
# cd /usr/tomcat6/bin/
# tar zxvf jsvc.tar.gz
# cd jsvc-src
# autoconf
# sh configure --with-java=/usr/java/default
# make
# chown tomcat. jsvc
# cp -p jsvc ../
# cd
# vi /etc/rc.d/init.d/tomcat
# an example
#!/bin/bash
#
# chkconfig: - 90 10
# description: Tomcat 6 - Java apprication server
. /etc/init.d/functions
JAVA=/usr/java/default
CATALINA_HOME=/usr/tomcat6
TOMCAT_USER=tomcat
TMP_DIR=/tmp
CATALINA_OPTS=
CLASSPATH=\
$JAVA/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
PIDFILE=/var/run/tomcat.pid
LOCKFILE=/var/lock/subsys/tomcat
DAEMON=$CATALINA_HOME/bin/jsvc
start(){
echo -n "Starting jsvc: "
$DAEMON \
-pidfile $PIDFILE \
-user $TOMCAT_USER \
-home $JAVA \
-Dcatalina.home=$CATALINA_HOME \
-Djava.io.tmpdir=$TMP_DIR \
-outfile $CATALINA_HOME/logs/catalina.out \
-errfile '&1' \
$CATALINA_OPTS \
-cp $CLASSPATH \
org.apache.catalina.startup.Bootstrap
RETVAL=$?
if [ $RETVAL = 0 ]; then
echo_success
touch $LOCKFILE
else
echo_failure
fi
echo
}
stop(){
echo -n "Shutting down jsvc: "
$DAEMON \
-stop \
-pidfile $PIDFILE \
org.apache.catalina.startup.Bootstrap
RETVAL=$?
if [ $RETVAL = 0 ]; then
echo_success
rm -f $PIDFILE $LOCKFILE
else
echo_failure
fi
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $DAEMON
RETVAL=$?
;;
*)
echo $"Usage: jsvc {start|stop|restart|status}"
exit 1
;;
esac
# chmod 755 /etc/rc.d/init.d/tomcat
# /etc/rc.d/init.d/tomcat start
Starting jsvc:
# chkconfig --add tomcat
# chkconfig tomcat on
Access to "http://(your host name):8080/" with web browser and verify following tomcat site is shown normally.
Configure to be able to access without specify 8080 in URL.
# vi /etc/httpd/conf.d/proxy_ajp.conf
# add at the bottom
ProxyPass /tomcat/ ajp://localhost:8009/
# /etc/rc.d/init.d/httpd restart
Stopping httpd:
Starting httpd:
Access to "http://(your host name)/tomcat/" with web browser and verify tomcat site like section is shown normally.
Make test servlet that shows current day and time and Verify working.
# mkdir /usr/tomcat6/webapps/ROOT/WEB-INF/classes
# chown tomcat. /usr/tomcat6/webapps/ROOT/WEB-INF/classes
# cd /usr/tomcat6/webapps/ROOT/WEB-INF/classes
# vi daytime.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Calendar;
public class daytime extends HttpServlet {
public void doGet(HttpServletRequest request
,HttpServletResponse response)
throws IOException, ServletException{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Calendar cal = Calendar.getInstance();
out.println("<html>");
out.println("<head>");
out.println("<title>DayTime</title>");
out.println("</head>");
out.println("<body>");
out.println("<div style=\"font-size: 40px; text-align: center; font-weight: bold\">");
out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE) + " " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE));
out.println("</div>");
out.println("</body>");
out.println("</html>");
}
}
# javac -classpath /usr/tomcat6/lib/servlet-api.jar daytime.java
# vi /usr/tomcat6/webapps/ROOT/WEB-INF/web.xml
# add following lines between <web-app> and </web-app>.
<servlet>
<servlet-name>daytime</servlet-name>
<servlet-class>daytime</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>daytime</servlet-name>
<url-pattern>/daytime</url-pattern>
</servlet-mapping>
</web-app>
Access to "http://(your host name)/tomcat/daytime" and verify following page is shown normally.
页:
[1]