本期项目使用springboot开发,最终将项目生产的jar包需要上传至云服务器运行,方便自己的小程序端和web端去访问。本文将jar包的运行与主要命令进行说明。
项目打包前,需要保证其正确性,最好先运行后在打包。具体的打包配置,详见另一个帖子(在此感谢我们的指导“老师”刘士闳)。
点击“package”后开始打包,打包生成的jar包在项目目录下的target下。
使用创建远程管理工具,我使用的是 WinSCP,登录自己的账号密码,
登录后,默认左侧是本地电脑,右侧是云端服务器。
直接将本地的jar文件拖拽至服务器即可。笔者的jar包放在了根目录下的home文件夹中。
笔者使用的是Xshell工具进行运行。运行并输入自己的云端服务器的账号密码;
显示如图,表面服务器连接成功。
执行命令:
- //1.运行模板切换至home目录
- cd /home
- //2.查看home下的文件名称
- ls
- //3.运行jar。
- //注:
- //(1)直接运行:java -jar our-support-sales.jar
- //(2)一直在后台运行,即退出命令操作后仍在运行:nohup java -jar test.jar &(运行后,按下回车后再输入exit,才能让其一直运行)
- //(3)一直运行并且把日志文件输入到你指定的文件中testlog.txt中,没有指定文件则会自动创建相应文件进行日志输出:nohup java -jar test.jar >testlog.txt &(当用 nohup 命令执行作业时,缺少日志输出情况下该作业的所有输出都被重定向到nohup.out的文件中,除非另外指定了输出文件,此时是定义了输出目录,即当前目录下的testlog.txt)
- //(4)制定端口访问该jar包,并不输出log日志,可后台运行:nohup java -jar -noverify our-support-sales.jar --server.port=8081 > /dev/null 2>/dev/null
- //(5)后台运行,指定目录输出日志,相对路径运行jar包,指定端口:nohup java -jar ../webapp/xxx.jar --server.port=9002 >> ../logs/xxx.log &(源于网络)
- //(6)查看日志:tail -f ../logs/xxx.log
cd /home
ls
nohup java -jar -noverify our-support-sales.jar --server.port=8081 > /dev/null 2>/dev/null
运行jar,(1)不输出运行日志;(2)后台一直运行;(3)指定运行端口为8081端口
netstat -nlp | grep 8081(笔者使用,网络教程为:ps -ef | grep test.jar)
sudo kill -s 9 4518(笔者使用,网络教程为:kill -9 123456)
1.命令后加&符号,可以使命令在后台执行。
2.tail -f 实时查看日志文件。
3.如果要先关闭项目再启动,尽量不要使用Ctrl+z退出命令行窗口的当前状态,最好新开一个命令行窗口,然后执行关闭脚本,再执行启动脚本。这样操作,可以避免应用莫名其妙没有关闭到的情况,反复执行关闭脚本却没有杀死应用进程的奇怪问题,需要杀多次。
本文对Linux服务器上运行jar包进行了记录和说明。
参考资料:
服务器怎么运行jar程序,Spring Boot项目中jar包在服务器上启动的正确姿势_酸流的博客-CSDN博客
【在linux云服务器上传jar包并运行jar】以及Linux运行包的相关命令_kelekele111的博客-CSDN博客_linux上传jar包命令服务器上运行Spring Boot的jar包及运行jar的5中方式_谷同学的博客-CSDN博客