Centos部署springboot项目war包

以前都是在虚拟机上部署的,所以没太多感觉,这次部署到云服务器(阿里云),问题有点太多了。

1. jdk安装,以前已经安装好了,这里不再介绍

2. tomcat安装,推荐别太快部署,先看看猫能不能出来,我安装的版本是8.0.53

  注意:不知道为什么netstat lnp|grep 80 查看端口号时,8005端口总是起不来,这里参照网上的方法,将jdk中jre/lib/security/Java.security中参数进行修改

  参数securerandom.source=file:/dev/random 改为 securerandom.source=file:/dev/urandom,这样我们8005端口号总算是起来了

3. 猫能看到了,现在开始部署(提前说一下,我把ROOT删掉了)

  3.1 SpringBoot配置可能需要麻烦一点

    a.修改pom.xml中打包方式<packaging>war</packaging>

    b.然后移除嵌入式tomcat插件

        <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>        

    c.添加servlet-api

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>    

    d.修改启动类,重写初始化方法

      类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootServletInitializer类

/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootServletInitializer extends org.springframework.boot.web.support.SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(BootdoApplication.class);
    }
}

    前期springBoot项目就准备好了

  3.2 我所使用的ide是idea,使用他的maven projects管理,package就可以生成war

  3.3 接着将war包放到tomcat的webapps下

  3.4 进入tomcat的conf下对server.xml进行配置

    解释下标签host和context(我只用到这几个)

    host :

      appName —— 初始值为webapps,存放应用程序的路径

      name —— 初始值为localhost,主机名

      unpackWARS —— 初始值为 true,是否自动解压war包

      autoDeploy —— 初始值为true,设置程序是否自动装载

    context :

      docBase —— 文件路径,可以是绝对路径,也可以是相对路径,相对路径就是相对于appName

      path —— 访问路径 访问格式 http://ip:port/path 

      reloadable —— true 是否自动部署

  然后运行startup.sh就可以了

猜你喜欢

转载自www.cnblogs.com/kongkongFabian/p/9550029.html