Tomcat6运行需要Java环境,需要先下载并安装J2SE5.0以上的版本。
下载地址:http://java.sun.com/javase/downloads/index.jsp
注意:tomcat6.0已经不再需要jdk,而只要jre就可以了,因为它采用了自带的Eclipse JDT来编译jsp,而不是jdk。
如果JDK是zip解压,而不是install安装的,请设置系统环境JAVA_HOME:
在桌面上右键点击【我的电脑】,选择【属性】命令,在出现的对话框中选择【高级】选项卡,然后单击【环境变量】按钮,添加一个环境变量:JAVA_HOME,它的值为JDK所在根目录(比如:c:\jdk,而不是c:\jdk\bin)
tomcat下载安装
tomcat下载地址:http://tomcat.apache.org/
右侧有从3.3到6.x各个版本的下载链接。
windows下tomcat的安装很简单,可以采用exe安装包的方式进行安装。基本上一路确定就可以了,安装用到了java环境,从jdk的安装注册表或者JAVA_HOME这个系统变量里面获得jdk所在位置(这就是为什么非安装的jdk需要配置JAVA_HOME的原因,当然在后面tomcat运行时也是需要的)。
安装后的目录如下:
c:\tomcat6.0
|---bin
|---conf
|---lib
|---logs
|---temp
|---webapps
|---work
相比之前的版本,在bin和lib这两个目录改动比较大,bin目录不再有一堆的bat文件,精简为4个文件。而jar文件统一放到新增的lib目录下,先前版本中下面的3个目录被删除合并(参考tomcat5.0.28的结构):
common(含lib,classes,endorsed三个目录)
share(含lib和classes两个目录)
server(含lib,classes,webapps三个目录)
此外,examples增加了
启动运行tomcat
安装的最后一个步骤,可以选择立即启动;
默认情况下,是通过系统的服务进行启动的,可以把启动方式设置为“自动”
命令行启动:
tomcat/bin/tomcat6 或者tomcat/bin/tomcat6 //TS//tomcat6(注意大写!下同) 二者是等价的。
其他的参数还有:
tomcat/bin/tomcat6 //RS//tomcat6 ---启动tomcat6服务
tomcat/bin/tomcat6 //US//tomcat6 ---更新tomcat6服务参数
tomcat/bin/tomcat6 //IS//tomcat6 ---安装tomcat6服务
tomcat/bin/tomcat6 //DS//tomcat6 ---删除tomcat6服务
安装后的bin目录共有一下几个文件:
bootstrap.jar
tomcat-juli.jar
tomcat6.exe
tomcat6w.exe
其中tomcat6w.exe是监控tomcat运行的,可以直接运行,或者缩小到屏幕右下角成为一个小图标。
直接运行tomcat6w.exe或者“tomcat6w //ES//” 都可以进入监控配置窗口;
或者运行“tomcat6w //MS//”把它缩小到右下角。
web访问测试
启动后,可以通过浏览器进行访问,测试运行是否正常。
用IE或者Firefox等浏览器,输入地址:
http://localhost:8080/ --如果安装时修改了端口,请把8080用修改后的值替换。
如果能够正常浏览到tomcat欢迎信息,就是正确了,否则就要检查安装是否正确、防火墙的设置等。
经常遇到的一个问题是端口冲突,最常见的就是80端口被占用,导致服务无法正常启动。如果通过tomcat6 //TS//tomcat6来启动,马上就能够发现提示信息。修改一下tomcat6\conf\server.xml中的端口就能够解决。
通常使用80端口的有:
1. IIS服务器,因为在windows服务器上,很多都安装了IIS,而IIS默认的端口就是80.
2. skype即时聊天工具,skype的可以穿透防火墙的本领,也是通过占用80端口实现的。
查看端口占用的命令:
进入windows命令行,输入:
netstat -an
这个命令返回有4列:protocol协议、local address本机地址、foreign address来访者地址、status状态
浏览本机地址一列,可以看到当前主机对外服务的IP地址、端口都有哪些。
如果一台机器有192.168.1.100和192.168.1.101两个地址,那么:
0.0.0.0:80表示这台机器上所有80端口都被使用
127.0.0.1:80表示127.0.0.1的80被使用,但.100和.101IP地址的80还未使用。
192.168.1.100:80表示.100IP地址的80端口被使用
192.168.1.101:80表示.101 IP地址的80端口被使用
想知道哪个程序使用了某个端口,可以通过天网防火墙或者是卡巴斯基获得
声明:首先感谢这篇文章的作者 Ubuntu's Boy ,让我解决了解压缩版的Tomcat的困扰~
PS:虽然作者说明了严禁转载,但这么好的文章,不偷不是我的个性
请关注原文作者的Blog~
该文连接地址:http://haolll230sss.blog.163.com/blog/static/578106722008388240343/
将解压缩版 Tomcat 加入服务
//说明:如果你已经按照第一步(即一.配置环境变量),且运行startup.bat和shutdown.bat能成功那么下面第一就不要做了,否则会出现错误
1、修改bin目录中的service.bat:
REM 添加下面的一行
set CATALINA_HOME=%cd%
如果从来没有安装过Tomcat,或者保证Services.msc启动服务管理器检查没有Apache Tomcat系统服务,到此你就可以转到第二步了。否则继续往下走--
//第一步一般不要了,否则可能出错!!
REM 按照描述修改下面的几行
set SERVICE_NAME=Tomcat6
REM 上面一行,Tomcat6修改成你需要的服务名,这个将是一后使用net start/stop来操作的服务名称。
//注意这一步很重要,如果你的系统现在有安装tomcat6.0,那么你一定要把"tomcat6"改成其它名字,而且不要以"tomcat6"为前缀,否则会由于你系统已经存在服务"tomcat6"而启动失败,可以把名字改为:"你的名字"+Tomcat6形式
set PR_DISPLAYNAME=Apache Tomcat
REM 上面一行,Apache Tomcat改为你需要的显示服务名,这个将显示在服务管理器中。
//注意这一步也是很重要,如果你的系统现在有安装tomcat6.0,那么你一定要不"Apache tomcat"改成其它名字,而且不要以"Apache tomcat"为前缀,否则会由于你系统已经存在服务"Apache tomcat"而启动失败,可以把名字改为:"你的名字"+apache形式
set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat
REM 这一行改不改无所谓,是服务的描述,根据自己的喜好决定吧。
我的tomcat6.0中bin下的service.bat(下载后没有经过其它的配置修改,保持下载时的状态)修改后如下:贴出来如下
@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements. See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
if "%OS%" == "Windows_NT" setlocal
rem ---------------------------------------------------------------------------
rem NT Service Install/Uninstall script
rem
rem Options
rem install Install the service using Tomcat6 as service name.
rem Service is installed using default settings.
rem remove Remove the service from the System.
rem
rem name (optional) If the second argument is present it is considered
rem to be new service name
rem
rem $Id: service.bat 600659 2007-12-03 20:15:09Z jim $
rem ---------------------------------------------------------------------------
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%cd%
if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome
rem CD to the upper dir
cd ..
set CATALINA_HOME=%cd%
:gotHome
if exist "%CATALINA_HOME%\bin\tomcat6.exe" goto okHome
echo The tomcat.exe was not found...
echo The CATALINA_HOME environment variable is not defined correctly.
echo This environment variable is needed to run this program
goto end
rem Make sure prerequisite environment variables are set
if not "%JAVA_HOME%" == "" goto okHome
echo The JAVA_HOME environment variable is not defined
echo This environment variable is needed to run this program
goto end
:okHome
if not "%CATALINA_BASE%" == "" goto gotBase
set CATALINA_BASE=%CATALINA_HOME%
:gotBase
set EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe
rem Set default Service name
set SERVICE_NAME=haotomcat6//原来为 set SERVICE_NAME=Tomcat6,这里hao是我的名字
set PR_DISPLAYNAME=hao apache//原来为 set PR_DISPLAYNAME=Apache Tomcat
if "%1" == "" goto displayUsage
if "%2" == "" goto setServiceName
set SERVICE_NAME=%2
set PR_DISPLAYNAME=Apache Tomcat %2
:setServiceName
if %1 == install goto doInstall
if %1 == remove goto doRemove
if %1 == uninstall goto doRemove
echo Unknown parameter "%1"
:displayUsage
echo.
echo Usage: service.bat install/remove [service_name]
goto end
:doRemove
rem Remove the service
"%EXECUTABLE%" //DS//%SERVICE_NAME%
echo The service '%SERVICE_NAME%' has been removed
goto end
:doInstall
rem Install the service
echo Installing the service '%SERVICE_NAME%' ...
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using JAVA_HOME: %JAVA_HOME%
rem Use the environment variables as an example
rem Each command line option is prefixed with PR_
set PR_DESCRIPTION=Apache Tomcat Server - http://tomcat.apache.org/
set PR_INSTALL=%EXECUTABLE%
set PR_LOGPATH=%CATALINA_BASE%\logs
set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar
rem Set the server jvm from JAVA_HOME
set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll
if exist "%PR_JVM%" goto foundJvm
rem Set the client jvm from JAVA_HOME
set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll
if exist "%PR_JVM%" goto foundJvm
set PR_JVM=auto
:foundJvm
echo Using JVM: %PR_JVM%
"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
if not errorlevel 1 goto installed
echo Failed installing '%SERVICE_NAME%' service
goto end
:installed
rem Clear the environment variables. They are not needed any more.
set PR_DISPLAYNAME=
set PR_DESCRIPTION=
set PR_INSTALL=
set PR_LOGPATH=
set PR_CLASSPATH=
set PR_JVM=
rem Set extra parameters
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed" --StartMode jvm --StopMode jvm
rem More extra parameters
set PR_LOGPATH=%CATALINA_BASE%\logs
set PR_STDOUTPUT=auto
set PR_STDERROR=auto
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256
echo The service '%SERVICE_NAME%' has been installed.
:end
cd %CURRENT_DIR%
//service.bat中要修改的两处地方已经在上面要红色标出来了
2、运行cmd打开控制台,进入Tomat目录/bin文件夹,输入如下命令运行。
service.bat install
程序提示:The service 'Tomcat5(或者你修改一后的SERVICE_NAME)' has been installed
说明服务Tomcat已经被安装成功。
顺便说一下,运行service.bat remove可以移除服务。
3、到这里,服务添加成功,控制台下运行services.msc,可以看到添加的服务(在右边可以找到PR_DISPLAYNAME指定的服务名"hao apache"),默认状态下该服务是手动运行的,在他的属性中,可以将启动类型更改为“自动”,以后机器启动以后Tomcat就在后台启动了。
四 控制台控制服务的命令
启动服务
net Start 服务名(此服务名为set SERVICE_NAME后面指定的服务名,或者为set PR_DISPLAYNAME指定的,下面一样)
关闭服务
net stop 服务名
注:
1 此服务名可以是SERVICE_NAME,也可以是PR_DISPLAYNAME;
2 如果服务名中包含空格或者中文,请将服务名用半角双引号包含起来。