1.首先,确定打包方式,然后添加项目依赖(将注册中心依赖的父项目jar包cv到注册中心的pom文件中)
<artifactId>talentShow_EurekaServer</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
2.修改配置类,继承SpringBootServletInitiailzer类,并复写configure()方法,运行时自动打包
@SpringBootApplication //标记这是一个开关类
@EnableEurekaServer //标记注册中心
public class EurekaServerApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class,args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(EurekaServerApplication.class);
}
}
3.运行生成war包,然后在本地tomcat中进行测试(将生成的jar包放入tomcat的webapps目录下,会自动解压生成war包,然后访问localhost:8080/{项目名},出现以下界面表示成功)
4.将war包部署到远程服务器tomcat的webapps目录下
首先,远程服务器上要拉取tomcat镜像(也可以直接在服务器上安装tomcat,具体如何安装自行查找),然后在服务器的root目录下,新建一个tomcat文件夹,然后在里面建一个webapps文件夹,将镜像中的tomcat的webapps文件(usr/local/tomcat/webapps)映射到新建的webapps目录下(root/tomcat/webapps),生成一个 名称为undo的容器,具体命令如下:
docker run -it --name undo -p 8888:8080 -v /root/tomcat/webapps:/usr/local/tomcat/webapps tomcat:8.5
然后生成的war包,放入新建的webapps目录下,重启镜像,然后开启undo镜像
systemctl restart docker
docker start undo
5.查看宿主机的webapps目录,会看到注册中心的war包已经解压然后,然后访问注册中心http://{服务地址}:8888/{war包名字}/
可以启动一个提供者,然后访问该注册中心,看注册中心是否注册成功。