最近,要把公司以前的一個(gè)java application 同步程序修改一下,讓它變成一個(gè)容易部署而且運(yùn)行穩(wěn)健的服務(wù)。
網(wǎng)上找了一下資料,決定動(dòng)手把它變成一個(gè)spring boot項(xiàng)目,理由有3:
(1)易維護(hù);
(2)易部署;
(3)較穩(wěn)??;
做了以下步驟:
1.把它從傳統(tǒng)項(xiàng)目變?yōu)閙aven項(xiàng)目,好處是大家都知的.
2.把它從一般的java application 變?yōu)閟pring boot application.
3.把它部署成Linux的系統(tǒng)服務(wù).
聽(tīng)起來(lái)是容易的,實(shí)際也是容易,只要不做錯(cuò)就行,呵呵。在這里,重點(diǎn)說(shuō)一下第三步.
以下為ubuntu環(huán)境:
(1)先生成spring boot 項(xiàng)目的jar包,往pom.xml里加點(diǎn)料,不然做不了的.
<build>
<plug×××>
<plugin>
<groupId>org.apache.maven.plug×××</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
</plugin>
<plugin>
? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? <artifactId>spring-boot-maven-plugin</artifactId>
? ? ? ? <version>1.5.9.RELEASE</version>
? ? ? ? <executions>
? ? ? ? ? ? <execution>
? ? ? ? ? ? ? ? <goals>
? ? ? ? ? ? ? ? ? ? <goal>repackage</goal>
? ? ? ? ? ? ? ? </goals>
? ? ? ? ? ? </execution>
? ? ? ? </executions>
? ? </plugin>
</plug×××>
</build>
然后用
mvn clean compile //重新編譯
mvn package skipTests //生成包啦
(2)把生成的jar包 oee-sync-tool-0.1.jar copy 到/home/page/soft目錄下
(3)在/etc/systemd/system下創(chuàng)建文件oee-sync-tool.service如下內(nèi)容:
[Unit]
Description=oee-sync-tool Service
After=syslog.target
[Service]
ExecStart=/opt/java/jdk1.8.0_131/bin/java -jar /home/page/soft/oee-sync-tool-0.1.jar --spring.profiles.active=dev
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
然后輸入啟動(dòng)服務(wù) :? ?service oee-sync-tool restart
查看服務(wù):service oee-sync-tool status
停止服務(wù):service oee-sync-tool stop
日志嘛,是放在/logs下面的sync-error.log,sync-info.log
(4)大功告成
以下是Centos環(huán)境:
(1)在/etc/init.d下新建一個(gè)oee-sync-tool文件,內(nèi)容如下:
#!/bin/bash
#
# chkconfig: - 57 75
# description: test service
ROOT_PATH=/opt/oee/
OEE_SYNC_PID=/opt/oee/oee-sync-tool.pid
start() {
?if [ -f /opt/oee/oee-sync-tool.pid ];then
? ? ? ? ? ? ? ? SPID=`cat /opt/oee/oee-sync-tool.pid`
? ? ? ? ? ? ? ? ? if [ "$SPID" != "" ];then
? ? ? ? ? ? ? ? ? ? ?echo "oee-sync-tool is running.....please check again!"
? ? ? ? ? ? ? ? ? ? ?echo? $OEE_SYNC_PID
? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? echo -n $"Starting $prog: "
? ? ? ? ? ? ? ? ? ? nohup java -jar /opt/oee/oee-sync-tool-0.1.jar >/dev/null 2>&1 & new_agent_pid=$!
? ? ? ? ? ? ? ? ? ? echo "$new_agent_pid" > $OEE_SYNC_PID
? ? ? ? ? ? ? ? ? fi
?else
? ? ?echo -n $"Starting $prog: "
? ? ?nohup java -jar /opt/oee/oee-sync-tool-0.1.jar >/dev/null 2>&1 & new_agent_pid=$!
? ? ?echo "$new_agent_pid" > $OEE_SYNC_PID
?fi
}
stop() {
?if [ -f /opt/oee/oee-sync-tool.pid ];then??
? ? ? ? ? ? ? ? SPID=`cat /opt/oee/oee-sync-tool.pid`??
? ? ? ? ? ? ? ? ? if [ "$SPID" != "" ];then??
? ? ? ? ? ? ? ? ? ? ?kill -9? $SPID??
? ? ? ? ? ? ? ? ? ? ?echo? > $OEE_SYNC_PID??
? ? ? ? ? ? ? ? ? ? ?echo "stop success"??
? ? ? ? ? ? ? ? ? fi??
?fi? ? ? ? ??
}
CheckProcessStata()??
{??
CPS_PID=$1??
if [ "$CPS_PID" != "" ] ;then??
? ? CPS_PIDLIST=`ps -ef|grep $CPS_PID|grep -v grep|awk -F" " '{print $2}'`??
else??
? ? CPS_PIDLIST=`ps -ef|grep "$CPS_PNAME"|grep -v grep|awk -F" " '{print $2}'`??
fi??
for CPS_i in `echo $CPS_PIDLIST`??
do??
? ? if [ "$CPS_PID" = "" ] ;then??
? ? ? ? CPS_i1="$CPS_PID"??
? ? else??
? ? ? ? CPS_i1="$CPS_i"??
? ? fi??
? ? if [ "$CPS_i1" = "$CPS_PID" ] ;then??
? ? ? ? #kill -s 0 $CPS_i??
? ? ? ? kill -0 $CPS_i >/dev/null 2>&1??
? ? ? ? if [ $? != 0 ] ;then??
? ? ? ? ? ? echo "[`date`] MC-10500: Process $i have Dead"? ?
? ? ? ? ? ? kill -9 $CPS_i >/dev/null 2>&1??
? ? ? ? ? ? ?
? ? ? ? ? ? return 1??
? ? ? ? else??
? ? ? ? ? ? #echo "[`date`] MC-10501: Process is alive"? ?
? ? ? ? ? ? return 0??
? ? ? ? fi??
? ? fi??
done??
echo "[`date`] MC-10502: Process $CPS_i is not exists"? ?
return 1??
}??
status()??
{??
SPID=`cat /opt/oee/oee-sync-tool.pid`? ?
CheckProcessStata $SPID >/dev/null??
? ? ? ? ? ? ? ? ? ? ? ? ?if [ $? != 0 ];then??
? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "oee-sync-tool:{$SPID}? Stopped ...."??
? ? ? ? ? ? ? ? ? ? ? ? ? else??
? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "oee-sync-tool:{$SPID} Running Normal."??
? ? ? ? ? ? ? ? ? ? ? ? ?fi??
}??
restart()??
{??
echo "stoping ... "??
stop??
echo "staring ..."??
start??
}??
case "$1" in??
start)??
? ? start??
? ? ;;??
stop)??
? ? stop??
? ? ;;??
status)??
? ? ?status??
? ? ;;??
restart)??
? ? restart??
? ? ;;??
*)??
? ? echo $"Usage: $0 {start|stop|restart}"??
? ? RETVAL=1??
echo $"Usage: $0 {start|stop|restart|force-reload}"
exit 2
esac
(2)使用命令chkconfig設(shè)置開(kāi)機(jī)啟動(dòng)
? ??
? ? chkconfig --add oee-sync-tool
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)名稱:springboot配置成linuxservice-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://chinadenli.net/article48/deschp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站策劃、網(wǎng)站建設(shè)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容