如何在服务器上配置Tomcat和JDK
以下文章内容及软件下载均有郑州景安计算机网络技术有限公司/郑州景安互联网数据中心制作、提供
制作环境:
Windows 2003 + IIS6、jre150_06、apache-tomcat-5517
首先需要做以下准备工作
1、安装好 Tomcat 和 IIS6,并且都能正常运行
2、Tomcat的端口没做任何修改
3、下载集成需要的文件
-apache-tomcat-5525exe
-jdk-1_5_0_13-windows-i586-pexe
-isapi_redirector2rar
集成步骤
1、配置环境变量 JAVA_HOME 和 TOMCAT_HOME
2、将 isapi_redirector2dll 文件拷贝到 TOMCAT_HOME 中的任意一个目录中,如:TOMCAT_HOME/iis 此目录需要新建
3、新建一个目录存放站点,如:d:\web 并在其中新建一个 ROOT 目录,此目录作为站点的默认起始目录
4、打开 IIS 控制台,新建一个站点,如果自己有域名的话可以在主机头中输入自己的域名,
如: wwwzzidccom 这样就不会和原来的默认网站冲突了,现在需要将默认网关停止后再新建
5、新建一个虚拟目录,名称为:jakarta 这个名称不能改变,路径为 TOMCAT_HOME/iis ,也就是放 dll 文件的 目录
打开站点属性窗口,进入 ISAPI 筛选器,点击添加铵钮,在筛选器名称中输入 jakarta ,这个名字也不能修改,所以要注意是否正确,
在可执行文件中选择 TOMCAT_HOME/iis/isapi_redirector2dll 文件
进入主目录选项卡,在弹出窗口中选择添加,这里对 jsp 文件和 struts 的 do 访问方式进行映射配置,点击添加铵钮,
可执行文件选择 TOMCAT_HOME/iis/isapi_redirector2dll ,扩展名为 jsp ,同样对 do 也进行配置
6、新增一个 Web 服务扩展,扩展名随意填,如: Tomcat ,要求的文件选择 TOMCAT_HOME/iis/isapi_redirector2dll ,
选中设置扩展状态为充许项,然后确定
7、拷贝 jk2properties 、 workers2properties 两个文件到 TOMCAT_HOME/conf 目录中
jk2properties 文件内容如下:
requesttomcatAuthentication=false
workers2properties 文件内容如下:( 以下第二行的文件路径需要根据自己的配置进行修改 )
[shm]
file= d:/Tomcat/logs/jk2log
size=1048576
# Example socket channel, override port and host
[channelsocket:localhost:8009]
port=8009
host=127001
# define the worker
[ajp13:localhost:8009]
channel=channelsocket:localhost:8009
# Uri mapping
[uri:/jsp]
[uri:/do]
[uri:/do/]
worker=ajp13:localhost:8009
# define the worker
[status:status]
# Uri mapping
[uri:/jkstatus/]
worker=status:status
注意 # Uri mapping 部份,现在已经开通了对jsp文件和struts的两种访问方式,如果还有其它的文件访问需要转到Tomcat来处理的话都在此进行配置
8、现打开注册表文件, 修改绿色字体部份,注意路径表示符
文件内容如下:
Windows Registry Editor Version 500
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\20]
"serverRoot"=" D:\\Tomcat "
"extensionUri"="/jakarta/isapi_redirector2dll"
"workersFile"=" D:\\Tomcat\\conf\\workers2properties "
"logLevel"="DEBUG"
修改完成后将导入注册表(双击此文件)
9、修改 tomcat 的配置文件 serverxml
使用以下内容替换原来的 <host></host> 内容, 绿色字体为需要修改的内容
<Host name=" localhost " debug="0" appBase=" d:\web " unpackWARs="true" autoDeploy="true">
<Logger className="orgapachecatalinaloggerFileLogger" directory="logs" prefix=" oksonic_log " suffix="txt" timestamp="true"/>
<Valve className="orgapachecatalinavalvesAccessLogValve" directory="logs" prefix=" oksonic_access_log " suffix="txt" pattern="common" resolveHosts="false"/>
</Host>
拷贝 Tomcat_Home/webapps/ROOT 下的文件到 web/ROOT 中
重启IIS和Tomcat服务
打开浏览器输入 http://localhost/indexjsp 进行测试,正常的话可以显示 Tomcat 默认的首页
这时再进入到 IIS 的管理工具中查看ISAPI筛选器,这时应该显示一个绿色向上的箭头,如果没有绿色箭头的话应该是有一个红色的向下的箭头,这表明是配置有问题,请检查,如果一个箭头也没有的话应该是没有使用浏览进行测试,只要有一遍测试的话就应该有箭头了
这里配置完成后有一个问题,就是无法使用 http://localhost 直接打开 indexjsp ,
即使是配置了IIS6的默认首页也不行,我采用的方法是使用一个 indexhtm 文件来进行跳转,文件内容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN"
"http://wwww3org/TR/html4/loosedtd";>
<html>
<head>
<meta http-equiv="refresh" content="0; url=/indexjsp">
</head>
<body>
</body>
</html>
整个配置基本完成,现在需要解决乱码的问题,如果有遇到乱码问题的话
这里使用的全是 UTF-8
在项目中要使用 UTF-8 的编码,并配置了过滤器,过滤编码也是 UTF-8
修改 Tomcat 的配置文件 serverxml ,在端器配置的地方加入 URIEncoding="UTF-8"
如:
<Connector URIEncoding="UTF-8"
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
这里是Tomcat使用的编码,还要配置集成时使用的编码,因为集成时使用的端口为 8009 所以在配置8009端口的地方也要加入 URIEncoding="UTF-8"
如:
<Connector URIEncoding="UTF-8"
port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/13" />
好了,重启 IIS 服务和 Tomcat 服务,整个集成工作就完成了
在这里我无法对乱码问题进行测试,这是我在开发时所发现并已经解决的方法,希望对大家有用。
一、安装JDK和Tomcat
1,安装JDK:直接运行jdk-7-windows-i586exe可执行程序,默认安装即可。
备注:路径可以其他盘符,不建议路径包含中文名及特殊符号。
2、安装Tomcat:直接解压缩下载文件“apache-tomcat-7033-windows-x86zip”到C盘下。安装路径建议修改为:c:\tomcat。
备注:如下载的是可执行文件,双击运行,默认安装即可。
二、配置JDK环境变量(在步骤查看如何配置环境变量)
1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk170
2,打开PATH,添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3,新建变量名:CLASSPATH,变量值:;%JAVA_HOME%\lib\dtjar;%JAVA_HOME%\lib\toolsjar
备注:
1,表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME;
2,JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclipse等的运行都需要依靠此变量。
3,PATH使得系统可以在任何路径下识别java命令。
4,CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。
三、测试JDK
在CMD命令下输入javac,java,javadoc命令:出现图示界面,表示安装成功。
四、配置Tomcat环境变量
1,新建变量名:CATALINA_BASE,变量值:C:\tomcat
2,新建变量名:CATALINA_HOME,变量值:C:\tomcat
3,打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin
五、启动Tomcat服务
方法三种:
1,方法一:直接进入tomcat的bin目录中点击startupbat启动服务,出现如下对话框,表明服务启动成功,stutdownbat为关闭服务。
2,方法二:在CMD命令下输入命令:startup,出现如下对话框,表明服务启动成功。
3,方法三:右键点击桌面上的“我的电脑”->“管理”->“服务和应用程序”->“服务”,找到“Apache Tomcat”服务,右键点击该服务,选择“属性”,将“启动类型”由“手动”改成“自动”。
六、测试Tomcat
打开浏览器,在地址栏中输入http://localhost:8080回车,如果看到Tomcat自带的一个JSP页面,说明你的JDK和Tomcat已搭建成功。
注意事项
1,JAVA_HOME中的路径不能用分号结尾,如C:\Program Files\Java\jdk170。
2,CATALINA_BASE,CATALINA_HOME,TOMCAT_HOME中的路径不能以“\”结尾。
3,JAVA_HOME的路径一定不要写成了JRE的路径。
4,在环境变量中修改添加变量时,一定要注意分号、空格,是否有多余的字母。作者就是因为path路径中多了一个字母,怎么都配置不成功。如果配置不成功,一定要反复检查。
以上错误,非常容易出现错误:CATALINA_HOME或是JAVA_HOME没有配置好。如错误提示“The CATALINA_HOME environment variable is not defined correctly”
项目部署方式
一、静态部署
1、直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywarwar myweb
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的serverxml文件,找到下面内容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
将appBase修改即可。
2、在serverxml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在serverxml中新建Context里部署一个JSP应用程序。打开serverxml文件,在Host标签内建一个Context,内容如下。
在tomcat中的conf目录中,在serverxml中的,<host/>节点中添加:
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true">
< /Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>
说明:
path是虚拟路径;
docBase 是应用程序的物理路径;
workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;
debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(helloxml),该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>
tomcat自带例子如下:
<Context docBase="${catalinahome}/server/webapps/host-manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>
这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。
4、注意:
删除一个Web应用同时也要删除webapps下相应的文件夹和serverxml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。
二 动态部署
登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。
在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。
XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcxxml文件,内容如下: <Context reloadable="false" />其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。
如果部署war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择war文件,然后点击Deploy也可以。
0条评论