在linux中部署spring cloud项目遇到的问题

1、Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: ribbon-provider

这个问题是yml的配置问题,在配置中如果没有加入enabled:true的配置的话在zuul网关转发请求的时候会报上文的这个错

按图添加

eureka:
  client:
    registerWithEureka: true
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://地址:端口/eureka/
    instance:
      prefer-ip-address: true # 优先注册IP地址而不是hostname
    healthcheck:
      enabled: true # 启用健康检查,注意:需要引用spring boot actuator

在linux中部署spring cloud项目遇到的问题

2、zuul和eureka转发请求地址的问题,在本机中zuul转发SC-XXX主机的请求就可以,将包部署到服务器上zuul通过注册的主机名称进行转发请求的时候报找不到链接(如下图),这个不太清楚具体原因,但是我们只要在yml中配置一个参数就可以将主机名称设置为ip优先,如上图或下面的配置就可以解决:

instance: prefer-ip-address: true # 优先注册IP地址而不是hostname

在linux中部署spring cloud项目遇到的问题