记录一次spring-boot项目部署到linux服务器

记录一次spring-boot项目部署到linux服务器

月光魔力鸭

2018-12-12 14:11 阅读 73 喜欢 0 spring-boot linux部署

简单介绍下背景,项目使用的spring-boot框架,在平时开发中是通过jar包部署来开发的,但是在服务器上得使用war包来部署,这里简单记录下出现的问题,包括打包、环境安装(服务器没有需要的环境)等。

war包打包

这类的资料非常多,但是可能直接拿过来并不一定能使用,总是会出现这样那样的问题。 需要修改的地方有两个:pom.xml 主入口函数

pom.xml

jar->war

主函数入口
//打war包,使用这个
public class ByyTeachingApplication extends SpringBootServletInitializer{

    public static void main(String[] args) {
        SpringApplication.run(ByyTeachingApplication.class, args);
    }

     protected SpringApplicationBuilder configure(SpringApplicationBuilder
     builder) {
     return builder.sources(ByyTeachingApplication.class);
     }

}


//平时开发使用这个
//public class ByyTeachingApplication {
//
//    public static void main(String[] args) {
//        SpringApplication.run(ByyTeachingApplication.class, args);
//    }
//}

打包

我是直接通过maven命令来打包的,在项目目录下打开cmd命令窗口执行mvn package -f pom-war.xml 就好啦。 打包过程中出现了个问题,是由于在pom.xml中build下的plugin没有注释掉导致的。

环境安装

由于服务器一直都是使用的jdk7tomcat7 ,但是spring-boot需要jdk8 和 tomcat8,所以,环境需要重新搭建,但是又不能把原来的删掉,要同时保留。

思路很简单:跑一个tomcat8,然后指定jdk目录就可以了。

tomcat8下载 jdk8下载

下载完成后,将jdk 扔到服务器上解压,然后..就不用管了,记住路径,后面使用。

tomcat8 上传解压,然后需要修改几个文件,指定jdk版本,同时还需要修改端口号(注意不要冲突)。 修改三个文件,将以下命令放在文件开头即可。(catalina.sh startup.sh setclasspath.sh)

export JAVA_HOME=/usr/local/jdk1.8.0_60
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

端口修改,这里就不多说了。

启动

在启动后发现了一个报错,由于jar包缺少导致的,把其他项目相关的jar包复制到这个项目就好啦.一个jstl的jar包.

命令

顺便强化下部署过程中使用的几个命令:

unzip xxx.zip //解压
unzip -o xxx.zip // 解压并覆盖。
./shutup.sh //关tomcat
ps -ef|grep 端口 //查看进程中使用的端口
netstat -lnt | grep 9000 //查看端口冲突
tail -f ./catalina.out //跟踪日志

基本上就这几个啦。

转载请注明出处: https://chrunlee.cn/article/java-spring-boot-linux.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
关于即时通讯,现在各路APP基本都有,虽然不能说是核心,但是如果没有又总会觉的少点啥。 如果对即时通讯要求不高,且用户量不大,只是想要从无到有的话,可以直接使用现有的服务即可,有不少免费的足够支持小量用户的要求。但是如果用户量稍微较大,且需要一些定制服务又不想受制于人,那么搭建自己的即时通讯服务器可能是你最终的选择。但是,从头开发肯定是不可能的。
使用spring boot 来传递日期参数的时候,发现报错。顺手记录。
实际上,之前有对接过的... 但是忘记了,而且也没做详细记录,同时语言又换了.. 成java了,所有这里记录下,包括从微信的授权、token、以及到js-sdk 开发为止。
这只能算是一个小实现吧 ,也不算什么难点,就是加强下记忆,后续查找方便点而已,当然也有可能给你提供个小灵感啥的,那就再好不过了。