SpringCloud 集成 Eureka服务 部署阿里云服务器
将SpringCloud集成Eureka服务部署在阿里云服务器。
项目在上一篇博客讲过在本地测试SpringCloud集成Eureka服务,博客地址:
https://www.jianshu.com/p/78e8797ea804,现在将3个项目部署在阿里云服务器,环境是CentOS7,Tomcat 9。
1.打包Eureka server的SpringCloud项目:
在pom.xml文件里设置打包方式:
<packaging>war</packaging>
<!--添加servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
在启动Application类添加:
@SpringBootApplication
@EnableEurekaServer
public class SpringcloudEurekaApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringcloudEurekaApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringcloudEurekaApplication.class);
}
}
在application.properties配置文件修改:
#指定注册中心名称
spring.application.name=eureka-peer
#端口号
server.port=8761
#spring.freemarker.prefer-file-system-access=false
#当前实例
eureka.instance.hostname=dev
eureka.instance.instance-id=dev
#eureka.instance.ip-address=true
#client
#是否向Eureka注册中心拉取信息
eureka.client.fetch-registry=false
#是否将自己注册到Eureka中心
eureka.client.register-with-eureka=false
#Eureka注册中心的地址 //123.56.64.244
#eureka.client.service-url.defaultZone = http:/localhost/:8761/eureka
eureka.client.serviceUrl.defaultZone = http://公网ip:8761/eureka
#server 同步数据等待时间
eureka.server.wait-time-in-ms-when-sync-empty = 0
#自我保护机制
eureka.server.enable-self-preservation=true
# 多长时间同步数据
eureka.server.peer-eureka-nodes-update-interval-ms=1000000
直接把项目lean下,再package:
image.png
打包后的war包在target目录下:
image.png
2. Eureka Client项目demo1打包:
修改pom.xml依赖:
<packaging>war</packaging>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
程序入口application类修改:
@SpringBootApplication
@EnableEurekaClient
public class SpirngcloudEurekaClientOneApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpirngcloudEurekaClientOneApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpirngcloudEurekaClientOneApplication.class);
}
}
消费者的api请求路径修改:
/**
*
*/
@RestController
public class CustomerController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/getdata")
public Object getIndex(){
// springcloud-eureka-client-two:是demo2在阿里云服务器Tomcat的wabapps文件夹下的名
return restTemplate.getForObject("http://client-two/springcloud-eureka-client-two/client2",String.class,"");
}
}
application.properties修改
#指定注册中心服务提供者名称
spring.application.name=client-one
#端口号
server.port=8081
#client
#是否向Eureka注册中心拉取信息
eureka.client.fetch-registry=true
#是否将自己注册到Eureka中心
eureka.client.register-with-eureka=true
#Eureka注册中心的地址;
#springcloud-eureka:是Eureka服务在阿里云服务器Tomcat下的webapps文件夹下的文件名
eureka.client.serviceUrl.defaultZone = http://公网ip:8761/springcloud-eureka/eureka
直接对项目lean,再package:
image.png
3.Eureka Client项目demo打包跟1类似,这就不重复写了;
3个项目打包好的包名:springcloud-eureka.war,springcloud-eureka-client-one.war,springcloud-eureka-client-one.war:
image.png
4.将3个war部署阿里云服务器
登录阿里云的白塔控制面板,将3个包上传到Tomcat的webapps文件夹下:
image.png
或者通过xftp工具上传也可以;
image.png
访问的端口一定要在阿里云的安全组添加,宝塔控制面板安全添加
image.pngimage.png
上传完后,重启Tomcat,等一会,就可以在浏览器里访问:
image.png
相关链接:
//eureka控制面板
http://公网ip:8761/springcloud-eureka/
//
http://公网ip:8081/springcloud-eureka-client-one/client1
// demo1注册到Eureka服务,并消费demo2的信息
http://公网ip:8081/springcloud-eureka-client-one/getdata
//
http://公网ip:8082/springcloud-eureka-client-two/getdata
//demo2注册到Eureka服务,并消费demo1的信息
http://公网ip:8082/springcloud-eureka-client-two/client2
成功截图:
image.png image.png
image.png
网友评论