linux实践部署java

1.查看运行端口,看看有没有被占用

ps -ef|grep java

ps -ef看一下全进程信息,grep java 过滤出带有 java字样的

 

2.存在进程,先把进程杀掉

kill -9 端口号

 

3.执行.sh 部署脚本

.sh里面内容是nohup java17 -Xmx600m -jar xl-tests-mini-server-1.0-SNAPSHOT.jar --debug >./mini.log 2>&1 &

解释:

这个 .sh 脚本中的命令是用来启动一个 Java 应用程序,并将其输出重定向到一个日志文件中,同时让这个应用程序在后台运行。下面是命令的逐部分解释:

nohup:这是一个命令,用于运行另一个命令,并忽略所有挂起(hangup)信号。这意味着即使你退出了登录会话或者关闭了终端,应用程序仍然会继续运行。nohup 常用于远程登录到服务器启动应用程序,并在退出登录后保持应用程序运行。

java17:这是 Java 17 版本的命令,用于启动 Java 虚拟机(JVM)。这里假设 java17 是已经安装在系统上的 Java 版本,或者是一个指向特定 Java 版本的软链接或别名。

-Xmx600m:这是传递给 Java 虚拟机的一个选项,指定了 Java 应用程序可以使用的最大堆内存为 600MB。-Xmx 是一个非标准选项,用于设置最大堆内存大小。

-jar xl-tests-mini-server-1.0-SNAPSHOT.jar:这个选项告诉 Java 虚拟机从指定的 JAR 文件启动应用程序。xl-tests-mini-server-1.0-SNAPSHOT.jar 是应用程序的 JAR 文件名。

--debug:这可能是传递给 Java 应用程序的一个参数,用于启动调试模式。具体效果取决于应用程序如何处理这个参数。

>./mini.log:这是一个重定向操作,将标准输出(stdout)重定向到当前目录下的 mini.log 文件中。这意味着应用程序的所有正常输出都会被写入这个日志文件。

2>&1:这是另一个重定向操作,将标准错误(stderr)重定向到标准输出(stdout)。由于标准输出已经被重定向到 mini.log,这意味着错误输出也会被写入同一个日志文件。

&:这个符号将命令置于后台执行。这意味着脚本会继续执行后续的命令,而不需要等待这个 Java 应用程序运行完成。

综上所述,这个脚本命令的作用是在后台启动一个 Java 应用程序,设置最大堆内存为 600MB,启用调试模式,并将所有的标准输出和错误输出重定向到 mini.log 文件中,同时确保应用程序在你退出终端或登录会话后仍然继续运行。

 

4.查看日志

上面的命令把java启动后 日志输出到同目录下的 mini.log中

现在要实时查看是否启动成功和日志,可以用下面命令查看

tail -f mini.log

解释:

tail -f mini.log 是一个在类Unix操作系统中常用的命令,用于实时查看文件的最新内容。这个命令特别适用于监视日志文件的实时更新,因为它会持续跟踪文件的增长,并实时显示新添加到文件末尾的内容。

命令解析
tail:这是一个用于显示文件末尾内容的命令。默认情况下,它会显示文件的最后10行,但这个数字可以通过 -n 选项来修改。

-f 或 --follow:这个选项是 tail 命令的一个参数,用于实时跟踪文件的更新。当与日志文件一起使用时,-f 选项会持续输出文件的新内容,一旦有新内容被追加到文件中。

mini.log:这是你想要监视的文件名。在这个例子中,tail -f mini.log 命令将会持续显示 mini.log 文件的新内容,直到你手动停止命令。

使用场景
tail -f mini.log 命令通常用于以下场景:

监视服务器日志文件,以便实时了解服务器的状态或错误信息。
跟踪应用程序的运行日志,特别是在启动应用程序或执行长时间运行的任务时。
实时查看正在执行的脚本或程序的输出。
停止监视
要停止 tail -f 命令的监视,你可以简单地按下 Ctrl + C。这将中断 tail 命令,并返回到命令行提示符。

 

posted @ 2024-03-18 11:33  Hello霖  阅读(5)  评论(0编辑  收藏  举报