我的Jetty服务器会在很长一段时间后死掉,为什么?

我的Jetty服务器会在很长一段时间后死掉,为什么?,jetty,Jetty,最近,我在AmazonEC2上托管了一个网站,我使用7.4作为服务器 我在我的机器和EC2中测试了它,它工作正常 但几周后,它突然无法访问。检查日志,它只是说找不到“/WEB-INF/view/index.jsp”。然后整个站点在重新启动Jetty服务器之前无法再使用 顺便说一句:在我的项目中,我用了,,,等等 为什么? 我几乎使用Jetty的默认配置文件: 码头配置文件: <!-- =====================================================

最近,我在AmazonEC2上托管了一个网站,我使用7.4作为服务器

我在我的机器和EC2中测试了它,它工作正常

但几周后,它突然无法访问。检查日志,它只是说找不到“/WEB-INF/view/index.jsp”。然后整个站点在重新启动Jetty服务器之前无法再使用

顺便说一句:在我的项目中,我用了,,,等等

为什么?

我几乎使用Jetty的默认配置文件:

码头配置文件:

<!-- =========================================================== -->
<!-- Server Thread Pool                                          -->
<!-- =========================================================== -->
<Set name="ThreadPool">
  <!-- Default queued blocking threadpool -->
  <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
    <Set name="minThreads">10</Set>
    <Set name="maxThreads">200</Set>
    <Set name="detailedDump">false</Set>
  </New>
</Set>

<!-- =========================================================== -->
<!-- Set connectors                                              -->
<!-- =========================================================== -->

<Call name="addConnector">
  <Arg>
      <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
        <Set name="host"><Property name="jetty.host" /></Set>
        <Set name="port"><Property name="jetty.port" default="8080"/></Set>
        <Set name="maxIdleTime">300000</Set>
        <Set name="Acceptors">2</Set>
        <Set name="statsOn">false</Set>
        <Set name="confidentialPort">8443</Set>
    <Set name="lowResourcesConnections">20000</Set>
    <Set name="lowResourcesMaxIdleTime">5000</Set>
      </New>
  </Arg>
</Call>

<!-- =========================================================== -->
<!-- Set handler Collection Structure                            -->
<!-- =========================================================== -->
<Set name="handler">
  <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
    <Set name="handlers">
     <Array type="org.eclipse.jetty.server.Handler">
       <Item>
         <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
       </Item>
       <Item>
         <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
       </Item>
     </Array>
    </Set>
  </New>
</Set>

<New id="ServerLog" class="java.io.PrintStream">
  <Arg>
    <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
      <Arg><Property name="jetty.logs" default="./logs"/>/yyyy_mm_dd.stderrout.log</Arg>
      <Arg type="boolean">false</Arg>
      <Arg type="int">90</Arg>
      <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>
      <Get id="ServerLogName" name="datedFilename"/>
    </New>
  </Arg>
</New>

<Call class="org.eclipse.jetty.util.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call>
<Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call>
<Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call>

<!-- =========================================================== -->
<!-- extra options                                               -->
<!-- =========================================================== -->
<Set name="stopAtShutdown">true</Set>
<Set name="sendServerVersion">true</Set>
<Set name="sendDateHeader">true</Set>
<Set name="gracefulShutdown">1000</Set>
<Set name="dumpAfterStart">false</Set>
<Set name="dumpBeforeStop">false</Set>


为什么您的
index.jsp
在WEB-INF中?这个文件夹是为类、JAR文件、web服务器文件等创建的。您的JSP页面应该根本不存在

查看您的
web.xml
和其他配置文件。

运行

bin/jetty.sh check
你会发现

-Djava.io.tmpdir=/tmp

将其更改为其他文件夹,因为操作系统将在一段时间后删除
/tmp
中的文件。

因为我使用Spring MVC,所以我将jsp作为视图文件放在WEB-INF下。而且网站正常工作,几周后,它突然不工作了。这是因为内存问题还是其他原因?如果我们想隐藏jsp文件以避免直接访问,就必须将其放入WEB-INF中。是的,我想这就是为什么我的应用程序在固定时间后无法工作的原因。谢谢你的帮助。
-Djava.io.tmpdir=/tmp