前提
系統安裝jdk1.8及以上,配置好maven的ide(這里用idea進行演示,maven版本3.5,配置阿里雲源)
項目搭建
新建一個maven項目,創建最簡單的那種就好,項目名這里為EurekaServerDemo,包名什么的隨意,項目打包方式為jar,
也可以使用spring官方的生成器,官方的生成器會創建基礎的springboot項目結構。這里為了演示,都可以
修改pom文件,參考如下,版本推薦和本文相同,springboot和cloud版本的坑很多
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hellxz</groupId> <artifactId>EurekaServerDemo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-netflix-eureka-server</artifactId> <version>1.3.5.RELEASE</version> </dependency> </dependencies> <name>EurekaServerDemo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Camden.SR3</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <!--暴露各種指標--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
新建一個主類,用於啟動項目
1 package com.hellxz.EurekaServerDemo; 2 3 4 import org.springframework.boot.SpringApplication; 5 import org.springframework.boot.autoconfigure.SpringBootApplication; 6 import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 7 8 /** 9 * @Author : Hellxz 10 * @Description: EurekaServer 11 * @Date : 2018/4/13 16:53 12 */ 13 @EnableEurekaServer 14 @SpringBootApplication 15 public class EurekaServerDemoApplication { 16 17 public static void main(String[] args) { 18 //啟動這個springboot應用 19 SpringApplication.run(EurekaServerDemoApplication.class,args); 20 } 21 }
在resources目錄下新建一個application.properties文件,用於配置EurekaServer相關參數,也可以使用yaml文件
#提供服務端口 server.port=1111 #提供服務的域名,本地可以使用localhost或者配置hosts測試 eureka.instance.hostname=localhost #關閉向注冊中心注冊自己 eureka.client.register-with-eureka=false #關閉發現注冊服務,注冊中心僅用於維護節點 eureka.client.fetch-registry=false #配置注冊中心提供服務的url(這里引用上邊的配置) eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
啟動這個項目測試一下
測試
因為配置的是localhost:1111作為訪問路徑,這里啟動項目后直接訪問就好,如圖
至此Eureka注冊中心搭建完畢
注冊服務提供者請參考下文,敬請期待