nohub java -jar的使用(应用服务启动)

经常开发给我们一个jar包和配置文件,我们该如何启动服务,让环境能自动运行起来。

1.java -jar中常用命令解释

nohup java -jar XXX.jar > /dev/null 2>&1 &

  • 标准输入文件(stdin):stdin=0,Unix程序默认从stdin读取数据。
  • 标准输出文件(stdout):stdout =1,Unix程序默认向stdout输出数据。
  • 标准错误文件(stderr):stderr=2,Unix程序会向stderr流中写入错误信息。
  • > /dev/null 2>&1/dev/null命令是无底洞,> /dev/null命令将内容重定向输入,> /dev/null 2>&1 命令表示输出数据和错误数据合并后重定向丢到/dev/null文件中。
  • > Log.log 2>&1”:表示将 stdout 和 stderr 合并后重定向到 Log.log

2.应用服务启动

进入对应的服务器,上传对应的jar包(dgw.jar包)和配置文件等其他必须文件。
执行命令:

nohup java -Xmx512m -Xms512m -jar -Dspring.config.location=/**/application.properties dgw.jar > nohup.log &

命令分析:

  • 1.nohup: 作用是把程序放到后台执行。使用nohup,不在当前窗口直接打印日志,会生成一个nohup.out文件存放日志。
    注意:nohup与&一般都是同时使用,才能保证关闭窗口后,还是在后台运行。
  • 2.-Xmx512m: 设置最大的java堆大小,内存可被分配最大上限。一般设置为内存的1/64大小。
    -Xms512m:设置最大的java堆栈的初始化大小,初始内存分配大小。一般设置为内存的1/64大小。
    通常Xmx 、Xms设置大小保持一致,目的:为了能够在java垃圾回收机制清理完后不需要重新分隔计算堆区大小而浪费资源。
  • 3.&:&产生pid:19649。配合nohup使用。
  • 4.> nohup.log: 重定向把日志文件放到nohup.log文件中。
    >>表示将输出以追加的方式重定向到nohup.log中。
    5.-Dspring.config.location=/**/application.properties:表示绝对路径下找到配置文件。
    目的:运维已经打包好的程序,想要指定配置文件路径。

3.检查应用是否启动

检查应用是否启动执行命令

ps -ef|grep 19649

可以通过执行上述命令产生的pid,拿到这个pid执行命令ps -ef|grep 19649检查应用是否被启动。
或者
执行如下命令:

jobs
fc 1

利用nohup后台运行jar文件包程序:
https://www.cnblogs.com/yc-c/p/9812000.html

4.springboot常用参数

java -jar aaa.jar --spring.config.location=C:/application.properties
参数使用:--配置项=值

  • --spring.config.location=C:/application.properties:该参数表示在命令行执行时指定配置文件。
    Spring boot的默认配置文件:application.properties或者application.yml文件

java -jar aaa.jar --spring.profiles.active=test
参数使用:--配置项=值

  • --spring.profiles.active中的值取决于你的配置文件中间的那个名称,一般都是3个环境:开发环境(dev)、测试环境(test)、正式环境(pro)。


    spring.profiles.active值的来源
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容