簡體   English   中英

Spring Boot 應用程序在兩個不同的端口上提供兩個服務

[英]Spring boot application with two services on two different ports

我有一個帶有兩個服務的 Spring Boot 應用程序,但我需要在端口 8080 上運行一個,另一個在 8081 端口上運行。現在我正在使用 sts(Spring 工具套件)進行開發,並使用“作為 spring 啟動應用程序運行”選項運行該應用程序",所以我不知道在哪里更改服務器配置。 有人可以幫助我嗎?

您不能在兩個不同端口的同一個 Spring Boot 應用程序下運行兩個不同的服務。 如果需要,您可以將一項服務移至另一個 Spring Boot 應用程序。 但是兩個服務的端口號不會相同。

可以在您使用的application.propertiesapplication.yaml配置文件上定義端口。

application.properties文件中,定義如下:

server.port=8090

或者,如果您使用的是application.yaml配置,請將其定義如下:

server:
    port: 8090

您可以在 application.properties 或 application.yml 中寫下一行

服務器端口=8080

您可以配置 SprintBoot 支持兩個端口。常用的配置方法是使用application.propertiesapplication.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);

如果您使用 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/這是一篇好文章

當然。 你可以在spring boot項目的application.properties文件中通過為每個服務設置server.port=number來實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM