【Spring Boot 十四】 部署与服务配置

  • 内容
  • 评论
  • 相关

接着上一篇文章【Spring Boot 十三】 动态数据源(多数据源自动切换)继续聊

 

Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat、weblogic等等),当然在此之前你要对程序入口做简单调整。

 

项目构建我们使用Maven或Gradle,这将使项目依赖、jar包管理、以及打包部署变的非常方便。

 

进入主题

开始说说【spring boot】的部署

打包:

CMD进入项目目录,使用 mvn clean package 命令打包,以我的项目工程为例:

C:\Users\Administrator\IdeaProjects\boot>mvn clean package

可以追加参数 -Dmaven.test.skip=true 跳过测试。 

打包后的文件存放于项目下的target目录中,如:boot-0.0.1-SNAPSHOT.jar

如果pom配置的是war包,则为boot-0.0.1-SNAPSHOT.war

(当然,编译器也提供打包,IDEA:如下图,可以直接双击jar,也可以点击右下角带m标志的按钮(Execute Maven Goal),选择存放包路径后输入命令:package即可)

 

这里说jar包,打完jar包后直接上传到服务器(可以通过Sshell rz命令,也可以通过WinSCP等软件上传)

 

然后进入jar包路径中,命令:java -jar boot.jar

这种方式当与软件(Xshell)与服务器断开连接的时候, 程序就关闭!(不推荐)

 

守护线程的方式启动,命令:java -jar boot.jar > temp.log &(不太推荐)

 

他会返回一个进程ID,当不想程序继续运行的时候傻吊线程即可,命令:kill 线程ID,强制删除命令:kill -9 线程ID(更多命令度娘一下)

 

如果忘记进程ID,查看端口找到进程ID,再kill杀死即可,查找端口号占用命令:netstat   -anp

(守护线程启动我碰到过一个bug,在启动之后十来分钟自己就掉了,然后访问返回响应吗502)

 

还有一个就是不挂断地运行命令(推荐)命令:nohup java -jar xxxx.jar & (这种情况会在当前项目文件目录生成一个nohup.out日志文件)

再有一个就是用脚本了

 

start.sh

 

stop.sh

 

check.sh

 

kill.sh

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

华丽丽的分割线

 

1、对server的几个常用的配置做个简单说明:

 

2、Tomcat为Spring Boot的默认容器,下面是几个常用配置:

 

3、Jetty

如果你要选择Jetty,也非常简单,就是把pom中的tomcat依赖排除,并加入Jetty容器的依赖,如下:

 

4、部署到JavaEE容器

4.1、修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法

4.2、修改pom文件中jar 为 war

<!-- <packaging>jar</packaging> -->

<packaging>war</packaging>

4.3、修改pom,排除tomcat插件

 

然后打包发布即可,同一般J2EE项目一样部署到web容器

 

完美收工。

 

 

 

 

别绝望,事情最后总会有办法解决的。

喜欢 2

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Title - Artist
0:00