本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1.启动jar包
在日常工作中,我们需要在服务器上部署后端服务,大多数都是spring项目,使用maven打成jar包上传到服务器然后执行如下命令:
java -jar x.jar
2.后台启动jar包
此时,该工程即可正常启动,注意执行的时候是需要jdk环境的,如果没有jdk无法使用java -jar启动,具体安装jdk可以参考juejin.cn/post/713760…,我们使用这个命令启动时候在关闭窗口后进程就停止了,我们需要在关闭xshell窗口后还可以保持启动状态,需要添加&符号,即:
nohup java -jar x.jar &
3.输出日志文件
启动后,日志文件输出到当前路径下的nohup.out文件内,如果多个jar都在同一目录下,都是按照上述操作,多个jar启动的日志都会到同一个文件,此时为了区分每个jar的日志,我们可以使用管道符|将文件输出到具体路径下的某个文件内,如
nohup java -jar x.jar > /home/a.log &
此时,启动x.jar这个包的时候就把日志输出到a.log文件,如果不写路径只输出到的文件的话,日志文件默认在当前路径
4.设置启动端口
如果我们想一台服务器同一个jar包起多次,会导致端口冲突,此时我们需要加上--server.port=8081来指定启动端口,每次启动可以使用不同的端口,这样就可以在一台服务器启动同一个jar包多次,访问的时候根据ip和不同的端口来访问即可。
nohup java -jar x.jar --server.port=8081> /home/a.log &
5.设置启动内存
如果想指定启动内存可以添加-Xmx1024m -Xms1024m参数设置启动内存大小,可以根据服务器的内存进行调整启动内存的大小,注意别让所有服务所占的内存超过服务器本身内存,如果内存使用过多也可以将启动内存调小,修改-Xmx1024m -Xms1024m内容即可
nohup java -Xmx1024m -Xms1024m -jar x.jar --server.port=8081> /home/a.log &
6.设置读取配置文件
在上述情况下启动的jar包使用的配置文件是jar里面的,一般里面的配置都是开发环境的,为了使测试环境和开发环境使用不同的库和中间件,我们可以把对应的配置文件如application.properties复制一份然后将里面对应的配置改为测试环境,启动的时候添加参数-Dspring.config.location=./config/application.properties
nohup java -Xmx1024m -Xms1024m -jar x.jar -Dspring.config.location=./config/application.properties --server.port=8081> /home/a.log &
注意:需要把对应的配置文件放到和jar包同级的config目录下
这样做的好处是每次更新环境我们只需要更新对应的jar包即可,配置不用修改。
7.如果启动的时候报错Picked up _JAVA_OPTIONS: -Xms64m -Xmx64m -Xmn32m
找到/etc/profile文件
vim /etc/profile
在JDK环境变量之前添加如下:
unset _JAVA_OPTIONS
然后刷新环境变量
source /etc/profile