Skip to content

Linux 下启动查看Java服务 #43

Open
@openHacking

Description

@openHacking

常用命令

  1. Linux启动Java服务
nohup java -jar /lwebapp/crud-demo.jar  > crud-demo.log 2>&1 &
  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包的方式

  1. 直接运行
java -jar /lwebapp/crud-demo.jar 

直接运行项目,通常用于开发模式下,或者临时测试下项目是否正常。当我们在ssh命令行终端执行Ctrl+C或者关闭终端窗口时,Java服务就被中断了。

  1. 保持命令行后台执行
java -jar /lwebapp/crud-demo.jar  &

加一个&就代表在命令行后台运行了,这时候可以执行Ctrl+C不会导致Java服务终端,可以继续执行别的命令,注意关闭终端窗口之后Java还是会停掉

  1. 保持窗口后台运行
nohup java -jar /lwebapp/crud-demo.jar &

再在前面加一个nohup用来让Java服务保持完整的在命令行和窗口的后台运行,默认还会将日志输出到当前目录下的nohup.out文件中,这时候我们在ssh命令行终端执行Ctrl+C或者关闭终端窗口时,Java服务不会被中断。这个命令基本上可以在生产中使用了。

  1. 指定输出日志
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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions