.war部署后如何阻止Tomcat 9被杀死?

时间:2019-08-10 12:14:18

标签: java spring spring-boot tomcat deployment

我正在使用Postgres数据源在Linux服务器上运行Tomcat 9。我通过Manager App部署我的.war(用Java和Spring Boot开发),并通过终端启动应用程序(运行catalina)。它可以正确启动,Spring Context可以启动并运行,但是在10秒钟后Tomcat被杀死(我在终端中看到“ killed”消息,在catalina日志中没有跟踪记录)。

当我使用“干净”的Tomcat 9(没有任何.war文件)启动时,它正确运行并显示其欢迎页面。但是,当.war放置在适当位置(/ webapps)时,它不会保持活动状态。

这是我的context.xml:

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <Resource name="jdbc/postgres" auth="Container"
          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
          url="jdbc:postgresql://dedivirt1401.your-abc"
          username="abc" password="abc" maxTotal="50" maxIdle="10" maxWaitMillis="-1"/>
</Context>

这是我的server.xml:

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>

有了这个,我希望Tomcat能够运行,但是它会自行停止。

我将非常感谢您的帮助/提示/其他问题。

0 个答案:

没有答案