Tomcat安装与配置

 Part I.TOMCAT基本配置

1>安装tomcat
[sense@ssn Desktop]$ tar xzvf apache-tomcat-6.0.14.tar.gz
[sense@ssn Desktop]$ sudo mv apache-tomcat-6.0.14 /opt/tomcat


2>测试tomcat
[sense@ssn tomcat]$ vi webapps/ROOT/hh.jsp
-----------------------------------
<html>
<head>
</head>
<body>
<%
out.println("hello world!");
%>
</body>
</html>
-----------------------------------
[sense@ssn tomcat]$ ./bin/startup.sh

firefox:
http://192.168.1.90:8080
http://192.168.1.90:8080/hh.jsp


3>配置tomcat WEB管理用户
[sense@ssn tomcat]$ vi conf/tomcat-users.xml
--------------------------------------------------------------------------
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
      <role rolename="tomcat"/>
      <role rolename="role1"/>
      <role rolename="manager"/>
      <role rolename="admin"/>
      <user username="tomcat" password="tomcat" roles="tomcat"/>
      <user username="role1" password="tomcat" roles="role1"/>
      <user username="both" password="tomcat" roles="tomcat,role1"/>
      <user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
--------------------------------------------------------------------------



4>配置tomcat开机启动
安装启动daemon程序:
[sense@ssn tomcat]$ cd bin/
[sense@ssn bin]$ tar xzvf jsvc.tar.gz
[sense@ssn bin]$ cd jsvc-src/
[sense@ssn jsvc-src]$ sh support/buildconf.sh
support/buildconf.sh: configure script generated successfully
[sense@ssn jsvc-src]$ chmod 777 configure
[sense@ssn jsvc-src]$ ./configure --with-java=/opt/jdk/
注:此处configure时需要加上jdk路径,否则无法使用普通用户开机自动启动tomcat。
[sense@ssn jsvc-src]$ make
[sense@ssn jsvc-src]$ vi native/Tomcat5.sh
将启动脚本修改成:
-----------------------------------------------------------------------------------
#!/bin/sh
##############################################################################
#
#   Copyright 2004 The Apache Software Foundation.
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
##############################################################################
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
#    <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
#    <Connector className="org.apache.catalina.connector.http.HttpConnector"
#               port="80" minProcessors="5" maxProcessors="75"
#               enableLookups="true" redirectPort="8443"
#               acceptCount="10" debug="0" connectionTimeout="60000"/>
#
# That is for Tomcat-5.0.x (Apache Tomcat/5.0)
# chkconfig: 2345 85 15
# description: apache-tomcat.6
#
# Adapt the following lines to your configuration
JAVA_HOME=/opt/jdk
CATALINA_HOME=/opt/tomcat
DAEMON_HOME=/opt/tomcat/bin
TOMCAT_USER=tomcat

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/opt/tomcat
#CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"
CATALINA_OPTS=
CLASSPATH=/
$JAVA_HOME/lib/tools.jar:/
$CATALINA_HOME/bin/commons-daemon.jar:/
$JAVA_HOME/lib/tools.jar:/
$CATALINA_HOME/bin/commons-daemon.jar:/
$CATALINA_HOME/bin/bootstrap.jar

case "$1" in
  start)
    #
    # Start Tomcat
    #
    $DAEMON_HOME/jsvc-src/jsvc /
    -user $TOMCAT_USER /
    -home $JAVA_HOME /
    -Dcatalina.home=$CATALINA_HOME /
    -Dcatalina.base=$CATALINA_BASE /
    -Djava.io.tmpdir=$TMP_DIR /
    -wait 10 /
    -pidfile $PID_FILE /
    -outfile $CATALINA_HOME/logs/catalina.out /
    -errfile '&1' /
    $CATALINA_OPTS /
    -cp $CLASSPATH /
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose /
    # To get a debug of jsvc.
    #-debug /
    exit $?
    ;;

  stop)
    #
    # Stop Tomcat
    #
    $DAEMON_HOME/jsvc-src/jsvc /
    -stop /
    -pidfile $PID_FILE /
    org.apache.catalina.startup.Bootstrap
    exit $?
    ;;

  *)
    echo "Usage tomcat.sh start/stop"
    exit 1;;
esac
-----------------------------------------------------------------------------------
[sense@ssn jsvc-src]$ sudo cp native/Tomcat5.sh /etc/init.d/tomcat
[sense@ssn jsvc-src]$ sudo chmod 755 /etc/init.d/tomcat
[sense@ssn jsvc-src]$ su -
[root@ssn ~]# chkconfig tomcat reset
[root@ssn ~]# chkconfig --list tomcat
tomcat          0:off   1:off   2:on    3:on    4:on    5:on    6:off

配置tomcat开机启动用户:
[root@ssn opt]# groupadd tomcat
[root@ssn opt]# useradd -g tomcat -s /sbin/nologin -d /dev/null tomcat
[root@ssn opt]# chown -R tomcat:tomcat /opt/tomcat/

测试tomcat运行:
[root@ssn bin]# service tomcat start
[root@ssn bin]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 127.0.0.1:8000              0.0.0.0:*                   LISTEN      2233/nasd           
tcp        0      0 192.168.1.90:53             0.0.0.0:*                   LISTEN      3586/named          
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      3586/named          
tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN      3586/named          
tcp        0      0 :::8009                     :::*                        LISTEN      3898/jsvc.exec      
tcp        0      0 :::8080                     :::*                        LISTEN      3898/jsvc.exec      
tcp        0      0 :::80                       :::*                        LISTEN      32547/httpd         
udp        0      0 0.0.0.0:33447               0.0.0.0:*                               3586/named          
udp        0      0 192.168.1.90:53             0.0.0.0:*                               3586/named          
udp        0      0 127.0.0.1:53                0.0.0.0:*                               3586/named          
udp        0      0 :::33448                    :::*                                    3586/named   



Part II. tomcat与apache整合

1>安装mod_jk2
jk2模块通过httpd把jsp等的web请求转发给tomcat,实现不同的文件由不同的解释器解析。
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/binaries/linux/
[root@ssn Desktop]# tar xzvf Fedora-Core-1-i386
[root@ssn Fedora-Core-1-i386]# cd Fedora-Core-1-i386
[root@ssn Fedora-Core-1-i386]# cp etc/httpd/conf/workers2.properties /usr/local/apache2/conf
[root@ssn Fedora-Core-1-i386]# cat etc/httpd/conf.d/jk2.conf
------------------------------------------------------------
#
# JK2 is the Apache/Tomcat connector
#
LoadModule jk2_module modules/mod_jk2.so
JkSet config.file /etc/httpd/conf/workers2.properties
------------------------------------------------------------
[root@ssn Fedora-Core-1-i386]# vi /usr/local/apache2/conf/httpd.conf
将jk2.conf的内容加在此文件后。
[root@ssn Fedora-Core-1-i386]# cp usr/lib/httpd/modules/* /usr/local/apache2/modules/

2>测试mod_jk2
[sense@ssn Fedora-Core-1-i386]$ cd /usr/local/apache2/
[sense@ssn apache2]$ ./bin/apachectl -t
httpd: Syntax error on line 444 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_jk2.so into server: /usr/local/apache2/modules/mod_jk2.so: undefined symbol: apr_pool_get_parent
出错提示mod_jk2.so与当前的apache不兼容,所以需要手工编译mod_jk2.so模块。

3>工手编译mod_jk2模块
到http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/source/下载新版本的mod_jk2.so源代码。
[sense@ssn Desktop]$ tar xzvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
[sense@ssn Desktop]$ cd jakarta-tomcat-connectors-jk2-2.0.4-src
[sense@ssn jakarta-tomcat-connectors-jk2-2.0.4-src]$ cd jk/native2/
[sense@ssn native2]$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs
[sense@ssn native2]$ make
[sense@ssn native2]$ cd ../build/jk2/apache2/
[sense@ssn apache2]$ sudo cp mod_jk2.so /usr/local/apache2/modules/

4>测试新的mod_jk2
[sense@ssn apache2]$ cd /usr/local/apache2/
[sense@ssn apache2]$ ./bin/apachectl -t
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
[sense@ssn apache2]$ sudo ./bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

5>测试PHP/JSP文件
http://192.168.1.90/
http://192.168.1.90:8080/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值