我有一个具有两项服务的Spring Boot应用程序,但我需要在端口8080上运行一项,而另一项则在8081上运行。现在,我正在使用sts(Spring工具套件)进行开发,并且使用“运行方式”选项运行该应用程序。春季启动应用”,因此我不知道在哪里更改服务器配置。有人可以帮助我吗?
答案 0 :(得分:0)
可以在您使用的application.properties
或application.yaml
配置文件中定义端口。
在application.properties
文件中,如下定义:
server.port=8090
或者如果您使用的是application.yaml
配置,请按以下方式定义它:
server:
port: 8090
答案 1 :(得分:0)
您可以在application.properties或application.yml中写以下行
server.port = 8080
答案 2 :(得分:0)
好的。您可以通过为每个服务设置server.port = number来在spring boot项目的application.properties文件中完成此操作。
答案 3 :(得分:0)
您不能在两个不同端口的同一spring boot应用程序下运行两个不同服务。如果需要,可以将一项服务移至另一项Spring Boot应用程序。 但是两种服务的端口号都不相同。
答案 4 :(得分:0)
您可以配置SprintBoot支持两个端口。常用的配置方法是使用application.properties
或application.yaml
作为@Madhu Bhat答案。在SprintBoot中配置另一个端口代码,如下所示:
创建连接器
int port = Integer.parseInt(probePort);
Connector httpConnector = new Connector(HTTP_PROTOCOL);
httpConnector.setPort(port);
Http11NioProtocol handler = (Http11NioProtocol) httpConnector.getProtocolHandler();
handler.setMaxThreads(10);
handler.setMinSpareThreads(4);
//handler.setAddress(InetAddress.getLocalHost());
handler.setAddress(StringTool.getInetAddress());
return httpConnector;
将连接器配置为
((TomcatEmbeddedServletContainerFactory) container).addAdditionalTomcatConnectors(connector);
答案 5 :(得分:0)
如果您使用 Docker(最常见的解决方案),您可以添加端口或其完整地址作为环境变量
docker-compose.yml
文件如下:
application1:
image: 'application1:latest'
build:
context: ./
container_name: application
environment:
- HOST-APP2=localhost:8082
ports:
- 8091:8080
application2:
image: 'application2:latest'
build:
context: ./
container_name: application
environment:
- HOST-APP1=localhost:8081
ports:
- 8092:8080
或者在构建容器时直接在 Dockerfile 中
在这里查看:https://vsupalov.com/docker-arg-env-variable-guide/ 这是一篇好文章