Tomcat 配置教程及问题解决小记

来源:互联网 发布:诲女知之乎诲的意思 编辑:程序博客网 时间:2024/05/21 11:05

原创文章,转载请注明出处。

Web 服务器管理着 Web 应用程序,并提供 Web应用程序所需的一切资源。而 Tomcat 是一个免费的、开源的 Java Web 服务器,它已经实现了 Java EE 的各种规范。为了构建开发中小型的商业应用, Tomcat 可以说是一个很好的选择。 Tomcat 可以从官方的网站Apache Tomcat 下载到各个版本,按需下载即可。


作者在配置 Tomcat 之前,已经安装了 JDK 1.8 。JDK 1.8 的安装配置参考网上教程,此处不再赘述。打开 Tomcat 的官网,可以在页面左方 “Download” 处看到各个版本,找到需要的版本下载即可。作者选择的是 Tomcat 8.0.41 Core 分类下的 Zip 版 (Zip 版的 Tomcat 不需要安装,直接解压并配置一下环境变量就可以使用了)。


*在安装 JDK 1.8 之后,需要配置两个与下一步 Tomcat 配置相关的环境变量,分别是:

JAVA_HOME :  C:\Program Files\Java\jdk1.8.0_60

JRE_HOME : C:\Program Files\Java\jdk1.8.0_60\jre

之后在系统变量 Path 中添加 “%JAVA_HOME%\bin” 和 “%JRE_HOME%\bin” 

将下载到的 apache-tomcat-8.0.41.zip 解压到任意文件夹,笔者将 Tomcat 解压到了 C:\Program Files (x86)\apache-tomcat-8.0.41 。解压后需要添加环境变量 CATALINA_HOME,并将 %CATALINA_HOME%\bin 添加到环境变量 PATH 中。其中 CATALINA_HOME 的值就是 apache-tomcat-8.0.41.zip 解压后所在目录。具体操作流程如下:

右键点击“计算机”,选择“属性”,点击“高级系统设置”,选择“环境变量”,之后新建系统变量,输入变量名为 CATALINA_HOME ,值则填入 Tomcat 解压路径 C:\Program Files (x86)\apache-tomcat-8.0.41 。

CATALINA_HOME : C:\Program Files (x86)\apache-tomcat-8.0.41

之后在系统变量 Path 中添加 “%CATALINA_HOME%\bin”

然后双击 /bin 目录下的 “startup.bat” 即可开启 Tomcat 服务(双击 “shutdown.bat” 可以关闭服务,或者通过 cmd 窗口,对应的键入 “Startup” 或者 “Shutdown” 来开启或关闭 服务)。当出现下方的 Tomcat 控制台截图,并且在浏览器的地址栏输入 “http://localhost:8080” ,如果出现与版本号(笔者是 8.0.41)对应的 Tomcat 的默认欢迎页面,则说明配置成功。



但是,倘若在 Tomcat 控制台出现如下类似的问题,并且在确认 JAVA_HOME、JRE_HOME、CATALINA_HOME 所有环境变量以及 Path 中添加的变量是正确的话,那么可能就是文件夹的权限问题。笔者就遇到了这样的问题,找了很多网页。尝试了他们的各种方法都行不通,最后才找到一个可行的方法,特此记录。

错误的控制台输出:(拒绝访问、警告、严重),并且通常无法正常打开上述 Tomcat 欢迎页

java.io.FileNotFoundException: C:\Program Files (x86)\apache-tomcat-8.0.41\logs\catalina.2017-03-04.log (拒绝访问。)

at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at org.apache.juli.FileHandler.openWriter(FileHandler.java:384)
        at org.apache.juli.FileHandler.<init>(FileHandler.java:96)
        at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:71)
        at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:67)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

04-Mar-2017 09:11:49.566 严重 [Catalina-startStop-1] org.apache.catalina.startup.HostConfig.beforeStart Unable to create directory for deployment: C:\Program Files (x86)\apache-tomcat-8.0.41\conf\Catalina\localhost

04-Mar-2017 09:11:49.570 严重 [Catalina-startStop-1] org.apache.catalina.valves.AccessLogValve.open Failed to open access log file [C:\Program Files (x86)\apache-tomcat-8.0.41\logs\localhost_access_log.2017-03-04.txt]

04-Mar-2017 09:11:50.486 警告 [localhost-startStop-1] org.apache.catalina.core.StandardContext.postWorkDirectory Failed to create work directory [C:\Program Files (x86)\apache-tomcat-8.0.41\work\Catalina\localhost\host-manager] for context [/host-manager]
04-Mar-2017 09:11:50.517 严重 [localhost-startStop-1] org.apache.jasper.EmbeddedServletOptions.<init> The scratchDir you specified: C:\Program Files (x86)\apache-tomcat-8.0.41\work\Catalina\localhost\host-manager is unusable.

出现“拒绝访问”,则一般是文件夹的权限问题,解决该问题后,随之也可以解决“[警告]”、“[严重]”等问题(在所有环境变量都正确配置的前提下)。具体操作方法为:

右键点击该文件夹(笔者为 “C:\Program Files (x86)\apache-tomcat-8.0.41”),点击“属性”,选择“安全”,点击“编辑”,之后选择当前的计算机用户(笔者电脑为“Hin-PC”),在下方权限处的“完全控制”一栏选中,点击“应用”即可。这样之后便可以看到 Tomcat 控制台的正常输出了,同样的也能在浏览器的地址栏输入 “http://localhost:8080” ,正确出现与版本号(笔者是 8.0.41)对应的 Tomcat 的默认欢迎页面了。


*倘若 Tomcat 控制台输出正常,但是 “http://localhost:8080” 页面打不开,则可能是 “8080” 端口冲突的问题,可以在 “/apache-tomcat-8.0.41/conf/” 下找到 “server.xml” 文件,打开该文件,修改端口号即可。


0 0
原创粉丝点击