1.放到指定目录:
打包 jar 放到/home/project/metadata
2.查看已经运行的进行 有则停止:
导入jar包直接覆盖就可以:
/home/project/metadata
执行:
ps -ef|grep java
找到进程号:
kill -9 进程号
重新启动服务(运行脚本):
service metadata start
3. 脚本创建(service metadata start)
在 /etc/init.d 目录下面创建脚本文件: metadata
cd /etc/init.d
vi metadata
#!/bin/bash # 符号 #! 用来告诉Linux系统,它后面的参数是用来执行该文件的程序。该例中我们使用/bin/sh来执行程序。 # chkconfig:2345 11 92 # description:gateway service echo "-----------准备启动 metadata 服务----------" # 进入到gateway的安装目录: cd /home/project/metadata/ # 设置一下 linux系统的JAVA环境变量: export JAVA_HOME=/home/project/jdk/jdk1.8.0_151 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH # 在后台启动 gateway服务: nohup java -jar -Xmx5440M -Xms5440M -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log metadata-web-1.0-SNAPSHOT.jar > metadata.log 2>&1 & echo "-----------完成启动 metadata 服务------------"
解释:
1. 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
2. 2>&1的意思
这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了
4.备注:
解决文件夹权限不够:chmod a+wrx /etc/init.d/metadata