SpringMVC微服务架构实战之基于事务的分布式解决方案

部署项目到linux上

在本地将项目打成war包

我的项目是SpringBoot项目

  这里说下遇到一个坑:

    在SpringBoot的启动类中需要继承SpringBootServletInitializer ,并重写configure方法, 这样在tomcat的日志中才会有项目加载日志出来,项目才能启动成功, 不然会出现访问页面可以, 访问方法报404错误,因为项目没有启动成功

SpringMVC微服务架构实战之基于事务的分布式解决方案

package mobi.weiapp.cms;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

/**
 * war打包时指定启动类
 */
public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
        return application.sources(CmsApplication.class);
    }
}

SpringMVC微服务架构实战之基于事务的分布式解决方案

,使用maven打包, 需要在pom文件中修改打包方式, 使用war包

SpringMVC微服务架构实战之基于事务的分布式解决方案

然后,先clear一下, 在使用package打包

SpringMVC微服务架构实战之基于事务的分布式解决方案

 在项目中会有个target文件, 这里就有打包好的war包

SpringMVC微服务架构实战之基于事务的分布式解决方案

接下来部署到tomcat中

    将war包上传到tomcat的webapps下, 这里说一个技巧, 可以在没上传前将war包 名改成ROOT.war, 将tomcat中的ROOT文件夹删除( rm -rf ROOT ), 这样的好处是: tomcat自动解压war包, 会生成一个ROOT文件夹, 里面就是我们的项目, 启动tomcat后, 在浏览器中访问项目就不用在端口号后面添加war包名了, 还有个好处就是后台接口也不用在请求前面加上war包名, 不会出现404错误

部署后的结果就是

SpringMVC微服务架构实战之基于事务的分布式解决方案

 

切换到tomcat目录下的logs目录下, 使用 tail -f catalina.out 命令可以打印日志

SpringMVC微服务架构实战之基于事务的分布式解决方案

 

 然后重新开一个窗口, 切换到tomcat的bin目录下, 启动tomcat, 在浏览器中输入  服务器ip:8080(默认)/xx.html就可以访问项目了

假设我的服务器ip是: 172.168.16.16, 我的项目首页是login.html  那么我的请求地址就是  172.168.16.16:8080/login.html

至此, 一个SpringBoot项目部署成功