Description
常用命令
- Linux启动Java服务
nohup java -jar /lwebapp/crud-demo.jar > crud-demo.log 2>&1 &
- Linux查看Java服务
ps -ef|grep java
第一个数字就是pid,比如 2355,可以使用 kill -9 2355
停掉这个进程
扩展学习
Java项目可以被打成war包和jar包
- war包,需要将war包额外部署到tomcat服务器上运行
- jar包,可以直接在服务器上运行,无需外部的tomcat,因为jar包内置了tomcat
在Linux上有以下几种运行Java项目jar包的方式
- 直接运行
java -jar /lwebapp/crud-demo.jar
直接运行项目,通常用于开发模式下,或者临时测试下项目是否正常。当我们在ssh命令行终端执行Ctrl+C或者关闭终端窗口时,Java服务就被中断了。
- 保持命令行后台执行
java -jar /lwebapp/crud-demo.jar &
加一个&就代表在命令行后台运行了,这时候可以执行Ctrl+C不会导致Java服务终端,可以继续执行别的命令,注意关闭终端窗口之后Java还是会停掉
- 保持窗口后台运行
nohup java -jar /lwebapp/crud-demo.jar &
再在前面加一个nohup
用来让Java服务保持完整的在命令行和窗口的后台运行,默认还会将日志输出到当前目录下的nohup.out
文件中,这时候我们在ssh命令行终端执行Ctrl+C或者关闭终端窗口时,Java服务不会被中断。这个命令基本上可以在生产中使用了。
- 指定输出日志
nohup java -jar /lwebapp/crud-demo.jar > crud-demo.log 2>&1 &
生产使用中日志记录非常关键,所有我们增加一段命令> crud-demo.log 2>&1
来输出所有日志到当前目录的crud-demo.log
文件中。
解释2>&1
:
- 0 表示stdin标准输入
- 1 表示stdout标准输出
- 2 表示stderr标准错误
-
表示重定向
- & 表示引用
2>&1
表示将错误日志重定向到正常日志输出的crud-demo.log文件中,这样就将所有日志都记录到一个文件里了。
实战项目
查看我的开源项目,一个简单的后台Java Spring Boot, JPA/Hibernate, PostgreSQL 项目案例,https://github.com/openHacking/crud-demo
可以搭配前端 Vue 3 + Typescript + Vite 项目一起学习全栈开发 https://github.com/openHacking/vue3-ts-crud-demo
参考
https://bbs.huaweicloud.com/blogs/detail/285515
https://www.cnblogs.com/kcxg/p/11076461.html