博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
以jar包方式启动
阅读量:4614 次
发布时间:2019-06-09

本文共 5275 字,大约阅读时间需要 17 分钟。

 

 

嗨,大家好~ ,在工作中,一个项目要部署到服务器上,我自己在工作中常见的部署tomcat和jar包方式部署的两种方式。(其他的有待挖掘)

啊啊啊,公司正在做一个新的平台,所以最近疯狂在服务器上部署项目~

今天介绍的是一个以vertx体系写的maven项目,将项目以jar包的方式启动 部署到服务器上面

欢迎大家留言呀~~~~~~~~~~~~~~~~~~~~~

 


 

部署步骤:

1.首先要在服务器上将项目所需要的环境安装好,例如 jdk, redis,mqtt, zookpper, vertx 等等等....

2.回到项目上,需要改动  pom.xml   和  log4j2.xml   文件

 pom.xml

org.apache.maven.plugins
maven-jar-plugin
2.3
io.vertx.core.Launcher
com.seaway.open.value_added_server.open_value_added_agent.Runner
true
/home/open/resources/libs/
log4j2.xml
open_value_mobiledata.yaml

log4j2.xm

<configuration status="error">

/home/open/resources/open_value_added_agent_mobiledata/logs/
/home/open/resources/open_value_added_agent_mobiledata/logs/backup
open_pay_front_agent

 

 

3. 将项目打jar包,在下用的工具是eclipse

右键项目----》Run  As ----》Maven  clean ----》Maven  install

(可以将jar文件用好压打开,然后把不需要的文件删掉,不删也行)

 

 

4.在服务器上面mkdir 一个和项目名称一样的文件夹。然后在文件夹下建立以下几个目录

config   存放项目配置文件 ,(一些软件的路径端口,要填服务器上安装的。例如:mqtt,redis等)bin      存放执行文件(bin里面的文件要用 touch命令创建. eg: touch xxxx.sh)logs     存放日志jar      存放项目打成的jarlibs     项目所需要的所有的jar包( 把maven上的jar包复制到本地,然后rz到服务器上libs。          eg: run as -->maven build         dependency:copy-dependencies   ,输入命令  观察控制台可以查看jar都复制到本地哪里了 )

 

 

5. bin下面的启动脚本(要会写,下面的例子)。写完以后启动项目,观察日志,报错就检查下。结束~

eg:简单的启停例子 之一

cat   startAndstopxxx.sh  

if [ $# -lt 1 ] then        echo "Usage: <$0> start/stop"         exit 1 fiif [ "$1" == "start"  ] ; then        
java -jar /home/open/open_task/jar/original-get_taopiaopiao_soonShows-1.0.jar start -Dlog4j.configurationFile=/home/open/open_task/config/get_taopiaopiao_soonShows/log4j2.xml -cfg /home/open/open_task/config/get_taopiaopiao_soonShows/taobao_soon_shows_server.yamlelif [ "$1" == "stop" ] ; then PROCESS=`ps -ef|grep "get_taopiaopiao_soonShows"|grep -v grep|grep -v PPID|awk '{ print $2}'` for i in $PROCESS do echo "Kill the get_taopiaopiao_soonShows process [ $i ]" kill -9 $i doneelse echo "Usage: <$0> start/stop" exit 1fi

 

eg:简单的stop的例子 之二

cat   stopxxx.sh  

 

#NAME=$1

NAME=get_taopiaopiao_soonShows       <!--项目名称,copy的时候,本条注释删掉-->
echo $NAME
ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done
echo "---------------"

 

eg: 简单的启停的例子 之三

cat   startAndstopxxx.sh  

#!/bin/shDateTime=`date "+%Y%m%d%H%M%S"`AppName='open_value_added_agent'JAVA_HOME=/home/open/jdk8u172-b11HOME=/home/open/resources#MAIN_PATH=com.seaway.dept3.kc.main.ZjpayProcess#classpath=''#for jarpath in `ls $HOME/libs/*.jar` #do #classpath=$classpath:$jarpath#done#CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarcase "$1" instart)echo "start $AppName"#java -jar -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Xloggc:/home/zjpaySvr/zjpay_process_svr/logs/gcc.log  -XX:+UseParNewGC  -XX:+UseConcMarkSweepGC  -XX:+UseTLAB  -XX:NewSize=128m  -XX:MaxNewSize=128m  -XX:MaxTenuringThreshold=0  -XX:SurvivorRatio=1024  -XX:+UseCMSInitiatingOccupancyOnly  -XX:CMSInitiatingOccupancyFraction=60 -cwd $HOME/$AppName/service -user $USER -home $JAVA_HOME -pidfile $PID_FILE -errfile $TMP_DIR/$AppName$DateTime.err -cp $CLASSPATH  $MAIN_PATH  java -jar  -Xms256m -Xmx256m -XX:CompressedClassSpaceSize=128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m $HOME/$AppName/$AppName-1.0.0.jar -Dlog4j.configurationFile=$HOME/$AppName/log4j2.xml -cfg $HOME/$AppName/$AppName.yaml & echo "Result: $?"exit $?;;stop)echo "stop $AppName"for i in `ps -ef |grep java | grep "$AppName" | grep -v grep | awk '{print $2}'`doecho $iif [ ! -n $i ];then# rm -rf $PID_PATH_NAMEecho -e "\033[32m $i has been killed \033[0m"# return 0;elseecho -e "\033[33m $i will be killed by force! \033[0m"kill -9 $i# rm -rf $PID_PATH_NAME# return 0;fidoneecho "Result: $?"exit $?;;*)echo "Usage ./$AppName.sh start/stop"exit 1;;esac

 

日后的补充

eg:简单的启停的例子之四

#!/bin/shcase "$1" instart)java -jar /home/open/jar/open_pay_gate_demo-1.0.0.jar start -Dlog4j.configurationFile=/home/open/conf/open_pay_gate_demo/log4j2.xml -cfg /home/open/conf/open_pay_gate_demo/open_pay_gate_demo.yaml;;stop)shellkill.sh [o]pen_pay_gate_demo-1.0.0.jar;;*)echo "Usage open_pay_gate_demo.sh start/stop"exit 1;;esac

 

 

多加尝试,加油~

转载于:https://www.cnblogs.com/PinkPink/p/9618372.html

你可能感兴趣的文章
splay入门
查看>>
带CookieContainer进行post
查看>>
C语言学习笔记--字符串
查看>>
CSS-上下文选择器
查看>>
ionic repeat 重复最后一个时要执行某个函数
查看>>
1.初识代码审计-基础
查看>>
[Vue-rx] Stream an API using RxJS into a Vue.js Template
查看>>
解决VC几个编译问题的方法——好用
查看>>
SPOJ #11 Factorial
查看>>
City Upgrades
查看>>
“人少也能办大事”---K2 BPM老客户交流会
查看>>
关于七牛进行图片添加文字水印操作小计
查看>>
DataSource数据库的使用
查看>>
CentOS开启samba实现文件共享
查看>>
MSSQL使用sqlbulkcopy批量插入数据
查看>>
证明一个数能被3整除,当且仅当它的各位数的和能被3整除
查看>>
2018秋寒假作业4—PTA编程总结1
查看>>
android自适应屏幕
查看>>
2019-北航面向对象-电梯作业总结
查看>>
SqlHelper
查看>>