首先我先在svn目录下降项目从svn checkout下来
命令:svn co svn://svn.........(svn地址)
创建oa.sh(我是放在/root/shells目录下)
内容:
#!/bin/bash
. /etc/profile
/root/shells/latin-ip-seeker.sh
/root/shells/latin-common-utils.sh
/root/shells/latin-entity.sh
PROG="oa"
service tomcat-$PROG stop
TOMCAT_DIR="/application/tomcats/tomcat-$PROG-8090"
DIR="/root/svn/$PROG/trunk"
svn up $DIR
mvn clean package -Dmaven.test.skip=true -f=$DIR
rm -rf $TOMCAT_DIR/webapps/ROOT*
cp -R $DIR/target/ROOT $TOMCAT_DIR/webapps/
service tomcat-$PROG start
-------------------------------------------------------------------------------------------------------------------------------
/root/shells/latin-ip-seeker.sh
/root/shells/latin-common-utils.sh
/root/shells/latin-entity.sh
这3个脚本是需要oa项目需要依赖所需要的,也需要更新运行
PROG="oa" 取一个别名吧 方便下面使用,下面加上$PROG就是使用的oa这个。可以看做一个变量名
TOMCAT_DIR DIR同样如此
svn up $DIR:更新svn版本,更新到最新的代码。up==》update的意思
rm -rf $TOMCAT_DIR/webapps/ROOT*
cp -R $DIR/target/ROOT $TOMCAT_DIR/webapps/
这2行代码删除tomcat下的项目,再将svn更新的项目添加到tomcat的webapps下面
service tomcat-$PROG(oa) stop 停止tomcat,start启动tomcat
这里service要注意的是必须要相/etc/init.d/目录下添加一个快捷方式,服务才会生效,service才会有用,不然会出现unrecognized service异常
如何添加参照http://mp.blog.csdn.net/postedit/79278742
tomcat-$PROG也就是tomcat-oa不能和其他服务重名。
创建service:# ln -s tomcat-oa /application/tomcats/tomcat-oa-8090/bin/daemon.sh
服务快捷方式名:tomcat-oa
服务启动的文件:/application/tomcats/tomcat-oa-8090/bin/daemon.sh
查看启动服务:
linux启动的时候会启动/etc/init.d/下的服务,init.d目录下一般是shell脚本,用来控制bin木下的服务
把tomcat下bin目录下的daemon.sh添加到快捷方式,前面是快捷方式tomcat-oa
然后执行~/shells/oa.sh就可以了
本人也是第一次实际工作接触linux搭建服务器,一弄就是好多个项目,如有错误之处大神多指点.
补充:最近又要部署多个项目,一共启动了4个Tomcat
但是部署过程中,发现了问题,一个项目还好。没问题,但是多个tomcat启动和停止问题就来了,当启动一个tomcat或者停止tomcat时候,指向的是另外一个tomcat,导致项目很混乱,因为有些依赖项目,到处报错。
比如,我关闭的是tomcat1,实际却关闭了tomcat2,tomcat1依然运行着。
后台网上查资料解决办法是:在每个tomcat/bin目录下面的 catalina.sh、startup.sh、shutdown.sh里面分别加上
export CATALINA_BASE=$CATALINA_3_BASE
export CATALINA_HOME=$CATALINA_3_HOME
=后面指向的是/etc/profile里面环境变量的引用,每个tomcat对应的目录要准确
图:
问题解决,然后各自的tomcat启动和停止都是正确的了。在想是不是没有指定具体的tomcat导致tomcat冲突了。还在分析原因,如有大神知道具体原因还望告知小弟!