云计算之java项目上线
最近刚刚完成java项目上线,在此略作整理,也给在座各位打发下时间。1.java网站上线流程:公司内部服务器-->github-->IDC机房预发布机器-->测试集群-->线上集群开发人员将java web网站代码传到公司内部服务器,git add . ,git commit -m 'version2.0' ,git push上传到我们github上,运维...
最近刚刚完成java项目上线,在此略作整理,也给在座各位打发下时间。
1.java网站上线流程:
公司内部服务器-->github-->IDC机房预发布机器-->测试集群-->线上集群
开发人员将java web网站代码传到公司内部服务器,git add . ,git commit -m 'version2.0' ,git push上传到我们github上,运维人员从github上将version2.0版本代码下载到预发布机器,并制作成war包,先在测试集群中进行功能检测,bug处理,运行没有问题后,将代码迁移到线上服务器,从而实现java网站项目上线发布运行。
2.war包讲解与制作:
刚刚上线流程已经简要说明,那么对于运维来说,war包的组成与应用可能就不太了解了,如果对这一块不了解,就很难与开发做好合作。
war包的组成:
index.html
添加其他网页文件,如JSP,HTML,CSS,JS,IMG等
WEB-INT
web.xml
war的描述文件
weblogic.xml
WEB-INIT和一些xml配置文件用来生成war包
classes
一些java类文件存放处
lib
jar包文件存放处
OTHER-DIRECTORIES
可以创建其他目录,里面能够包含HTML,JSP,IMG等。
META-INF
MAVEN自动生成的目录
war包制作与解压
打包命令(带目录):
jar -cvfM hello.war ./hello
解包命令:
jar -xvf hello.war
自动解压:
放在webapps目录或者work目录下,tomcat只要是运行着的就会自动解压,访问的时候http://ip:port/war包解压后文件夹名
3.新老项目交替:
新项目写完准备上线,一般不会直接把老项目替换掉,如果新项目有漏洞,我们就得还原到之前的老项目。此处实现这种功能的方法比较多,我给大家提供一个简单的脚本,更加方便我们对项目的管理操作。
vim /bin/change
#!/bin/bash
#定义war包存放路径
WAR_PATH=/opt/wars
read -p '输入war包完整名称' WAR_NAME
#定义tomcat网页目录
WEB_PATH=/usr/local/tomcat/webapps/ROOT
#定义老项目备份存放目录
OLD_PATH=/tmp/old/
#将老项目打包存放到指定位置
cd $WEB_PATH && tar -zcf last.tar.gz * && mv last.tar.gz $OLD_PATH && rm -rf *
#将新项目部署上线
jar -xvf $WAR_PATH/$WAR_NAME && cp -r ${WAR_NAME%.*}/* . && rm -rf ${WAR_NAME%.*}
chmod +x /bin/change
将war包项目放到指定目录下,执行change命令即可实现升级功能。
4.转到线上服务集群
在测试集群验证一段时间没有问题后,就可以着手将项目迁移到线上服务器,其实很简单,rsync加innotify即可,此处不做详细说明,各公司有各公司的方案。
项目上线比较简单,没接触过的会感觉高大上,其实你若操作操作也不过如此。以上内容为个人整理,需要改进的地方留言交流。
更多推荐
所有评论(0)