当前位置: 首页 > 知识库问答 >
问题:

春云端口冲突8888

鲁鹏
2023-03-14

我在启动服务时遇到端口冲突,而配置服务已经在运行。我目前用的是Spring Boot 1.2.3.RELEASE和Spring Cloud版本1.0.0.RELEASE(试过用1.0.1.RELEASE,同样问题)。

如果我在端口8888中启动配置服务器,然后尝试启动另一个服务,它会尝试在端口8888中启动,即使我已经指定了另一个端口。奇怪的是,这不会发生在Mac OS中,它确实会发生在Windows和Linux中。

如果我启动服务,然后启动配置服务器,那么它都运行良好。该服务被分配了一个与8888和配置服务端口8888不同的端口。

我尝试了不同版本的Spring Cloud和Spring Boot,以及不同的配置。我在网上尝试了这些建议,但都没有奏效。

有什么办法解决这个问题吗?

--

我设法解决了端口冲突,从配置服务器中的application.yml中删除了server.port,并将其移动到bootstrap.yml。我还从客户端服务中的application.yml中删除了server.port,并将其移动到bootstrap.yml。下面您可以看到配置文件目前的样子。

以下是配置服务中的配置文件:

bootstrap.yml

server:
  port: 8888

info:
  name: "Config Service"

spring:
  application:
    name: config-service
  profiles:
    active: native
  cloud:
    config:
      enabled: true
      server:
        git:
          uri: <url to config repo>

应用html" target="_blank">程序. yml

management:
  context-path: /admin

info:
  configuration: "Read From Config Service application.yml"

endpoints:
  restart:
    enabled: true
  shutdown:
    enabled: true
  health:
    sensitive: false

logging:
  level:
    com.netflix.discovery: 'OFF'
    org.springframework.cloud: 'DEBUG'

eureka:
  instance:
    leaseRenewalIntervalInSeconds: 10
    leaseExpirationDurationInSeconds: 5
    preferIpAddress: false
    statusPageUrlPath: /admin/info
    healthCheckUrlPath: /admin/health
    metadataMap:
      hostname: ${vcap.application.application_uris[0]}
      instanceId: ${vcap.application.instance_id:${spring.application.name}:${spring.application.instance_id:${random.value}}}
  client:
    registerWithEureka: true
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://127.0.0.1:8761/eureka/

客户端服务中的配置为:

bootstrap.yml

server:
  port: 0

info:
  name: "Client Service"

spring:
  application:
    name: serviceC
  profiles:
    active: native
  cloud:
    config:
      enabled: true
      failFast: true
      env: default
      label: master
      uri: http://localhost:8888

应用程序。yml为空。

现在我有另一个问题。Linux客户端从配置服务器中的application.yml文件中获取配置(端口冲突的来源),而在苹果操作系统中,它从配置的git存储库中获取配置。

正确的行为应该是什么?

共有1个答案

赵星华
2023-03-14

终于成功了。

问题是profiles.active:本机设置。Linux上的配置服务正在从本地application.yml获取配置。出于某种原因,此设置在Mac OS上不起作用,配置服务正在从回购中获取配置。

最后,我删除了< code > profiles . active:native 设置,并将公共配置移到了Repo中。现在,所有服务都从git中的< code > application . properties 获取通用配置。

 类似资料:
  • http/https 端口与 ws端口 冲突吗?

  • 简而言之:最近开始使用Gulp(从Grunt转换),我正在尝试将Gulp的默认监视任务(不是npm的Gulp watch)用于SASS/JS/HTML和Gulp nodemon(来自npm)在发生更改时重新启动Express server。当只运行吞下手表时,它工作正常;当运行gulp服务器(对于nodemon)时,效果很好。然而,同时使用两者(如下面默认任务的配置中所示),手表功能不起作用。任务

  • 小雪再 pull 的时候遇到了冲突。 → git pull --rebase remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0 Unpacking objects

  • 就是在做php项目的时候,自己本地有多个web项目,对应也是配置了nginx的配置,比如A项目: 项目B配置如下: 就是上面2个项目都是80端口,也都是正常运行,那为什么2个项目都使用80端口但是不算端口冲突呢?

  • 本文向大家介绍解决Nginx端口冲突的排查方法示例,包括了解决Nginx端口冲突的排查方法示例的使用技巧和注意事项,需要的朋友参考一下 问题描述 一个Spring + Angular前后端分离的项目,使用Nginx进行数据转发。 Nginx监听端口8100,前台端口4200,后台端口8080。 像往常一样,提前配置好MySQL、配置好Redis,引入项目的Nginx配置文件,然后启动前台、后台,成