在微服务应用启动过程中,如何灵活设置Spring Boot应用的端口号?下面列举了部分使用方式:
这是比较常见的方式,可以保持多个实例使用统一的port。不足是,在开发、测试环境,可能需要在同一台host上运行一个服务的多个实例,这样就会存在端口冲突了。
JAVA -jar <path/to/my/jar> --server.port=9023
通过--server.port 参数覆盖application.yml 配置文件的端口号设置。
看下面的一个示例:
先采用application.yml 中配置的端口号(9022)启动一个微服务实例。
java -jar service-b-1.0-SNAPSHOT.jar
然后,通过--server.port 命令行参数启动一个新的微服务实例。
java -jar service-b-1.0-SNAPSHOT.jar --server.port=9023
如上图所示,在Eureka 注册中心有成功注册了2个服务实例。
和上一种方式比较接近,采用了JVM系统属性的方式 -Dserver.port。
java -Dserver.port=9024 -jar <path/to/my/jar>
具体示例:
java -Dserver.port=9024 -jar service-b-1.0-SNAPSHOT.jar
以server.port=9024 端口注册到eureka server,对外提供服务。
以windows 系统为例,先定义需要的环境变量。
SET SERVER_PORT=9025
java -jar <path/to/my/jar>
具体示例:
set SERVER_PORT=9025
java -jar service-b-1.0-SNAPSHOT.jar
如果需要使用随机端口分配,可以设置server.port=0 即可。