参考文献:https://blog.csdn.net/qq_36850813/article/details/84316310 ----->IDEA新建eureka工程
https://blog.csdn.net/qq_40699535/article/details/86688911 ---->关于jar包启动的
https://www.cnblogs.com/hxun/p/11325558.html ----->关于jar包启动的
https://www.cnblogs.com/lonelyJay/p/9841905.html ----->分布式部署参考文献
1、使用最新版本的SpringCloud新建完Eureka工程后,总是报错
新版本为:<spring-cloud.version>Hoxton.SR1</spring-cloud.version>
原因:没有在ServerApplication.java main文件里面加上注解@EnableEurekaServer
2、application.properties配置文件为:
单机:
spring.application.name=eureka #服务注册中心端口号 server.port=8081 #是否向服务注册中心注册自己 eureka.client.register-with-eureka=false #是否检索服务 eureka.client.fetch-registry=false eureka.server.renewal-percent-threshold=0.45 eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8081/eureka/
分布式:
spring.profiles=peer1
spring.application.name=application-eurekaserver
server.port=8081
#设置实例的hostname
eureka.instance.hostname=eureka8081.com
eureka.instance.instance-id=springcloud-eurekaserver-8081
#作为Eureka Client,把实例的ip的信息注册到eureka server中
eureka.instance.prefer-ip-address=true
#不将eureka server 注册进来,会提示unavailable-replicas
#默认情况下,Eureka Server会向自己注册,这时需要配置eureka.client.registerWithEureka 和 eureka.client.fetchRegistry为false,防止自己注册自己
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://eureka8082.com:8082/eureka,http://eureka8083.com:8083/eureka
#关闭自我保护机制
#eureka.server.enable-self-preservation=false
#配置了Actuator对外暴露REST API接口的端口号,如果不指定,端口为应用程序的启动端口,这样做的目的是将程序端口和程序的监控端口分开
management.server.port=8081
spring.profiles=peer2
spring.application.name=application-eurekaserver
server.port=8082
#设置实例的hostname
eureka.instance.hostname=eureka8082.com
eureka.instance.instance-id=springcloud-eurekaserver-8082
#作为Eureka Client,把实例的ip的信息注册到eureka server中
eureka.instance.prefer-ip-address=true
#不将eureka server 注册进来,会提示unavailable-replicas
#默认情况下,Eureka Server会向自己注册,这时需要配置eureka.client.registerWithEureka 和 eureka.client.fetchRegistry为false,防止自己注册自己
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://eureka8081.com:8081/eureka,http://eureka8083.com:8083/eureka
#关闭自我保护机制
#eureka.server.enable-self-preservation=false
#配置了Actuator对外暴露REST API接口的端口号,如果不指定,端口为应用程序的启动端口,这样做的目的是将程序端口和程序的监控端口分开
management.server.port=8082
spring.profiles=peer3
spring.application.name=application-eurekaserver
server.port=8083
#设置实例的hostname
eureka.instance.hostname=eureka8083.com
eureka.instance.instance-id=springcloud-eurekaserver-8083
#作为Eureka Client,把实例的ip的信息注册到eureka server中
eureka.instance.prefer-ip-address=true
#不将eureka server 注册进来,会提示unavailable-replicas
#默认情况下,Eureka Server会向自己注册,这时需要配置eureka.client.registerWithEureka 和 eureka.client.fetchRegistry为false,防止自己注册自己
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://eureka8081.com:8081/eureka,http://eureka8082.com:8082/eureka
#关闭自我保护机制
#eureka.server.enable-self-preservation=false
#配置了Actuator对外暴露REST API接口的端口号,如果不指定,端口为应用程序的启动端口,这样做的目的是将程序端口和程序的监控端口分开
management.server.port=8083
3、使用java -jar启动jar包老师会挂掉,使用解决方案二
方案一:执行jar包的命令和在windows操作系统上是一样:
java -jar eureka.jar;
注: 关闭服务器连接时会关闭此程序进程,(推荐测试可用)
方案二:将jar程序设置成后台运行,并且将标准输出的日志重定向至文件msg.log;
nohup java -jar eureka.jar >msg.log 2>&1 &;
注: nohup命令的作用就是让程序在后台运行,不用担心关闭连接进程断掉的问题了(推荐使用)
其他:如果想杀掉运行中的jar程序,查看进程命令为: ps -aux | grep java
root 15713 15510 99 21:01 pts/7 00:00:20 java -jar eureka.jar
执行: kill -9 15713 杀死进程;
注: 15713 为进程标识号
4、伪分布式部署命令(在同一台服务器,不同端口):
测试用命令:
java -Xms512m -Xmx1024m -Dspring.profiles.active=peer1 -jar eureka_server_8081.jar &
java -Xms512m -Xmx1024m -Dspring.profiles.active=peer2 -jar eureka_server_8082.jar &
java -Xms512m -Xmx1024m -Dspring.profiles.active=peer3 -jar eureka_server_8083.jar &
产线用命令:
nohup java -Xms512m -Xmx1024m -Dspring.profiles.active=peer1 -jar eureka_server_8081.jar >msg.log 2>&1 &
nohup java -Xms512m -Xmx1024m -Dspring.profiles.active=peer2 -jar eureka_server_8082.jar >msg.log 2>&1 &
nohup java -Xms512m -Xmx1024m -Dspring.profiles.active=peer3 -jar eureka_server_8083.jar >msg.log 2>&1 &