经常开发给我们一个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)。