Spring Boot 不会绑定到 Tomcat 端口



我正在尝试将一个warSpring Boot项目部署到Tomcat服务器中,该服务器将其他项目绑定到某些端口。当我部署新的war项目时,服务似乎没有绑定到从 Spring 引导application-properties分配的端口8082

首先,我在server.xml上添加了新的端口8082

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="-1"
redirectPort="8443" /> //That was already specified
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> //My addition

然后有了netstat -plnt我看到端口可用

tcp6       0      0 :::8082                 :::*                    LISTEN      -

通过转到/opt/apache-tomcat-7.0.88/webapps似乎已部署我的新war应用程序。

应用程序日志不显示任何错误或异常,Spring 启动应用程序似乎正在运行。以下是春季的完整日志:https://pastebin.com/nX04gjE3

当我尝试使用

wget http://localhost:8082/services/test

我得到以下内容

--2019-06-10 09:49:56--  http://localhost:8082/services/test
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:8082... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-06-10 09:49:56 ERROR 404: Not Found.

每次更改后,我当然都会重新启动 apache。 这是一个已部署的服务器,而不是在本地计算机上,我所做的每个更改都是使用 putty 和 winscp。

ServicesApplication.java

@SpringBootApplication
public class ServicesApplication extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(ServicesApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(ServicesApplication.class, args);
}
}

application-properties

server.port=8082
http.port=8082

logging.file = /opt/logs/services.log

spring.datasource.url=jdbc:mysql://X.X.X.X/name?useSSL=false
spring.datasource.username=username
spring.datasource.password=password
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

编辑:我不需要该应用程序运行8082我可以接受其他8080相同端口的答案。

如果要在特定端口下运行该应用程序,则需要在server.xml中为该应用程序指定一个新部分,而不是另一个可用的端口:

<Server>
<Service name="commonservice">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="-1"
redirectPort="8443" />
<Engine><Host name="commonhost">
<Context path="/commonwebab"/>     
</Host></Engine>
</Service>
<Service name="springservice">
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444" />
<Engine><Host name="springhost">
<Context path="/springapp"/>
</Host></Engine>
</Service>
</Server>

春季启动明智,确保你的正常主类扩展:

@SpringBootApplication
public class App extends SpringBootServletInitializer

最新更新