【问题标题】:Got apache tomcat error that access denied on this file localhost_access_log.2014-08-30.txt?在这个文件 localhost_access_log.2014-08-30.txt 上得到拒绝访问的 apache tomcat 错误?
【发布时间】:2014-10-24 03:00:49
【问题描述】:

我在 Windows 7 操作系统上安装了 Apache tomcate。我刚刚安装了 apache 并使其在 eclipse 中可用。当我在服务器上运行任何简单的应用程序时,它会说 404: page not found 并且在控制台中它会打印这样的错误消息。

SEVERE: Failed to open access log file [C:\Program Files\Apache Software           Foundation\Tomcat 7.0\logs\localhost_access_log.2014-08-30.txt]
java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Tomcat      7.0\logs\localhost_access_log.2014-08-30.txt (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.apache.catalina.valves.AccessLogValve.open(AccessLogValve.java:1117)
at org.apache.catalina.valves.AccessLogValve.startInternal(AccessLogValve.java:1224)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardPipeline.startInternal(StandardPipeline.java:185)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1137)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

我不明白这是怎么回事???请帮帮我。

【问题讨论】:

  • 您好像从非特权帐户启动了tomcat,它无法写入日志目录。这不是编程问题......因此它是题外话。
  • 但我安装在我的个人电脑中,并安装为管理选项。仍然拒绝访问。有什么办法解决???
  • 您可能曾经从特权帐户启动过 Tomcat,它创建了一个日志文件,其默认的非特权帐户无法再修改。服务器故障社区可能会提供更多信息。

标签: java apache tomcat


【解决方案1】:

您当前的用户似乎没有对 tomcat 文件夹的权限。

我也遇到了同样的问题,并通过在 tomcat 文件夹上授予登录用户权限来解决它。

对于您的情况:

转到 >>“C:\Program Files\Apache Software Foundation\Tomcat 7.0”文件夹 右键单击>>属性>>安全选项卡

为当前登录的用户提供所需的权限。

【讨论】:

    【解决方案2】:

    Open Tomcat C:\Program Files\Apache Software Foundation <br>(Right Click on Tomcat 8.5 ( as per Your Version)<br> →Properties <br> →Select Security Tab <br> →Edit <br> →Select Your System <br> →Check or Allow all the Boxes <br> →Click on Apply <br> →Restart Program

    【讨论】:

      【解决方案3】:

      或者,您可以决定指示嵌入式 Tomcat 实例将其日志文件保存在不同的位置,并且位于 Windows 的本机“程序文件”目录之外。特别是对于最新的 Windows 版本,在程序文件目录中写入或保留任何内容可变的文件(即在运行时创建或写入的文件)不是一个好习惯。

      在 TOMCAT_HOME/conf/server.xml 中搜索“AccessLogValve”,并指定日志文件的替代目录,如下所示:

      <Valve className="org.apache.catalina.valves.AccessLogValve"
             directory="c:\work\tomcat\logs"
             prefix="localhost_access_log." suffix=".log" pattern="common"/>
      

      这里的关键属性是“目录”。

      【讨论】:

        猜你喜欢
        • 2012-07-12
        • 1970-01-01
        • 2016-09-18
        • 1970-01-01
        • 2010-09-28
        • 2010-11-20
        • 1970-01-01
        • 2013-10-31
        相关资源
        最近更新 更多