在实际生产环境中,我们是不能触碰到服务器的,只能通过SSH等手段进行远程连接,通过网络传输进行内存cpu日志等查看工作,通过对其分析,再定位代码部分的问题,那这么jar包是如何运行到服务器上的?JVM堆栈的设置又是什么?日志输出查看又是什么?这就是十分真实的生产环境下的工作。
1通过Maven将SpringBoot打成Jar包
在本机已经测试好代码后,首先在pom.xml文件中添加
<build> <plugins> <plugin> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-maven-pluginartifactId> plugin> plugins> build>
在IDE中点击Maven的package进行自动打包
就会在项目目录下生成一个target目录,里面有一个xxxx.jar包
2
将Jar包放置Linux服务器
可以通过xftp这类网络文件传输工具,进行远程连接Linux服务器后将Jar包传输到远程服务器.
3Linux服务器上开启SpringBoot服务
手动开启方法:
- 找到Jar包所在的目录
- 通过 java -jar xxx.jar > consoleMsg.out & 让日志输出到consoleMsg.out文件中 & 表示后台运行,这样正在使用的shell就不会被占用掉
- 通过 ps aux|grep xxx 可以看到正在运行的Java服务和占用的端口以及PID
4
杀掉进程和重启进程
在很多时候我们需要强杀掉进程并重启该服务
- ps aux | grep xxx.jar 可以得到该进程的PID
- kill -9 PID 进行进程强杀
- java -jar xxx 重新手动启动
5
设置JVM堆栈大小
可以通过命令行shell启动Jar包的时候手动进行设置
java -jar -Xmx1024M -Xms256M spring-boot-01-1.0-SNAPSHOT
-Xmx 表示JVM最大的内存
-Xms 表示JVM初始内存
END