SpringCloud 集成 Eureka服务 部署阿里云服务器

2020-10-24  本文已影响0人  kaixingdeshui

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.png
image.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
上一篇下一篇

猜你喜欢

热点阅读