美文网首页
SpringCloud 集成 Eureka服务 部署阿里云服务器

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

作者: kaixingdeshui | 来源:发表于2020-10-24 13:36 被阅读0次

    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

    相关文章

      网友评论

          本文标题:SpringCloud 集成 Eureka服务 部署阿里云服务器

          本文链接:https://www.haomeiwen.com/subject/ahbimktx.html