Linux下快速部署项目

由于Linux和Java一样开源,所以现在在服务器的部署上基本上都是采用Linux平台作为服务器,然后部署项目!在开发项目的过程中,绝大部分程序猿还是使用最经典的windows操作系统,虽然Linux也有桌面化的系统,对于国人来说,还是不太习惯,并且国内的软件绝大部分都不支持Linux平台,所以在使用的频率那是相当的少!

在开发中,开发环境中编译使用等一系列通过后,还不能说功能已经ok,因为环境一旦变化,出现的问题的可能是自己没有考虑的,所以程序猿都知道真实的环境才是最可靠的,有时候出现的问题,在真实的环境需要多次才能重现,甚至长时间无法重现,因此在真实的环境中进行大量的测试时相当需要的!

来讲讲是怎么改善部署环境的:

这里使用到了一个shell脚本,简单介绍一下shell脚本:shell script,shell脚本与windows/dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,毕竟它使用Linux/Unix下的命令。

换一种说法也就是,shell script是利用shell的功能缩写的一个程序,这个程序是使用纯文本文件,将一些shell的语法和指令都写在里面,然后用正则表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。

更明白的来说,shell script就想早起dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易的就能够一个操作执行多个命令,而shell script更是提供了数组,循环,条件以及逻辑判断等重要功能,让使用者可以直接以shell来写程序,而不必使用类似C程序语言等传统程序编写的语法。

shell就简单的介绍到这里!现在直接贴上shell脚本(tom.sh)里的内容

#!/bin/bash  

service tomcat stop
sleep 3
#kill java
killall java
#remove pid
rm -rf /var/run/tomcat.pid
rm -rf /nac/web/tomcat/webapps/hupunac* /nac/web/tomcat/webapps/ROOT
rm -rf /nac/web/tomcat/work/*
#clear log
>/var/log/tomcat/catalina.out
#rz
cd /nac/web/tomcat/webapps
rz
#start tomcat
sleep 3
service tomcat start
#
echo "Please wait for 80s......"
sleep 80
netstat -an|grep :::6002 > /dev/null
if [ $? != 0 ];then
        service tomcat stop
        killall java
        rm -rf /var/run/tomcat.pid
        service tomcat start
else
        echo "tomcat start ok!"
fi

这里的

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/

service tomcat stop命令应该很清楚了吧,就是先将tomcat的服务先停止,当然可能在这个时候tomcat的服务本身就没有开启,但是不影响整个脚本的执行

sleep 3指的是睡眠3s(秒),俗称等待3秒

killall java强制杀死Java程序

rm -rf强制删除,使用这个命令,主要是为了删除服务器下那些必须删除的文件

> 这条命令是将文件清空的意思,在我这里主要是清空日志文件

cd是指进入目录

rz是指文件导入,就是windows中的浏览一般,然后上传

service tomcat start这时候,我们项目的war上传成功后,开始启动服务,接着又是等待服务开启

这里做了一个优化,因为在我们的程序中使用到了6002端口,所以如果服务开启完毕后端口还没有起来,也就是listen状态,netstat -an这命令是用来查看当前系统中所有端口信息,这些端口中的6002端口是我们所需要的数据,所以我们可以用netstat -an|grep :::6002来过滤!如果没有起来的话,说明在tomcat的服务开启过程中出现了问题,然后再次走流程,这时候只是少了一步上传war包的动作。

好啦,脚本介绍完毕了,这时候我们可以执行. /nac/script/tom.sh,ok项目就可以轻松部署了!

这时候就用人要问了,这么长的路径,这么难找,挺费事!还不能更加优化呢,这是当然的,必须能优化,这里介绍两种优化方式:

1、在root下的.bashrc文件下加入alias webupdate='. /nac/script/tom.sh'

2、在/etc/profile中加入alias webupdate='. /nac/script/tom.sh'

两种方式都介绍完了,两种优化方式都行,后者更好,更方便,因为后者是配置在系统的环境变量上,而前者是配置在root用户的环境变量上,所以前者只有root能使用,而后者的话所有用户都可以使用该命令,这样就可以使用webupdate这一条命令就可以轻松换war包部署

可能这时候有人就要问了,用命令怎么说不存在呢!当然,设备没有重启,配置的这些资源还有重新加载呢,肯定没有使用咯,重启设备就ok,重启设备太费劲了,我们可以用source一下就好啦,这样就可以直接使用刚刚配置好命令,记住source是source刚才修改的文件!

最后我们是不是可以很轻松很方便很快捷就能把我们的项目重新部署了呢!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索tomcat
, 文件
, shell
, 脚本
, 命令
, 程序
, java执行shell命令
, java服务器部署项目linux
, 部署项目tomcat
, linux java 文件上传
, tomcat服务器部署
, 部署tomcat
linux查看tomcat日志
linux部署javaweb项目、linux部署web项目、linux部署tomcat项目、linux部署php项目、linux下部署web项目,以便于您获取更多的相关知识。

时间: 2024-08-03 14:12:57

Linux下快速部署项目的相关文章

基于资源编排在专有网络环境下快速部署高可用的Dubbox服务(ZooKeeper版)

本文将介绍在专有网络VPC(Virtual Private Cloud)下,基于资源编排服务,快速部署高可用的Dubbox服务的过程.Dubbox服务采用的注册中心是ZooKeeper集群.做这件事情的意义在于:节约部署Dubbox的时间,降低部署Dubbox过程中出错的风险. ROS阿里云资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务.用户通过模板描述多个云计算资源的依赖关系.配置等,并自动完成所有资源的创建和配置,以达到自动化部署.运维

基于资源编排在经典网络环境下快速部署高可用的Dubbox服务(Redis版)

本文将介绍在经典网络环境下,基于资源编排快速部署高可用Dubbox服务的过程.做这件事情的意义在于:提供给开发者一套高可用的Dubbox服务框架,节约开发人员部署Dubbox服务的时间,并降低了部署Dubbox过程中出错的风险. ROS阿里云资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务.用户通过模板描述多个云计算资源的依赖关系.配置等,并自动完成所有资源的创建和配置,以达到自动化部署.运维等目的.编排模板同时也是一种标准化的资源和应用交付

c语言-Linux下C语言项目,怎么基于不同宏值定义组合,自动化编译

问题描述 Linux下C语言项目,怎么基于不同宏值定义组合,自动化编译 一个Linux下的C语言项目,希望通过Macro实现每个功能模块都能自由打开/关闭,例如: #define FEATURE_A 1 // 如果想关闭Feature_A,请定义为0 #define FEATURE_B 1 // 如果想关闭Feature_B,请定义为0 #define FEATURE_C 1 // 如果想关闭Feature_C,请定义为0 默认情况下,Feature A/B/C都是打开的,也就是都定义为1.但是

linux下tomcat部署应用后如何通过url访问文件

问题描述 linux下tomcat部署应用后如何通过url访问文件 是这样的,我的tomcat是在linux的/opt/server/tomcat这个目录下,端口9080.tomcat里部署的应用有写文件的功能,将文件写在/opt/awr/这个目录下,文件是html格式,1.html.现在我想在tomcat启动后,在浏览器里输入url就访问到这个html文件,请问该怎么办

Linux下快速搭建ntp时间同步服务器(转载:http://www.linuxidc.com/Linux/2014-07/104371.htm)

背景: 服务器多了,时间是否一致以及是否准备就显得格外重要,虽然这个问题总是被忽略,但是统一时间是很有必要的,因为时间问题导致服务出现问题也是司空见惯,本文简单介绍Linux下ntp的快速搭建和使用. CentOS NTP服务器安装与配置 http://www.linuxidc.com/Linux/2014-01/95258.htm Linux实战部署系列之NTP服务器 http://www.linuxidc.com/Linux/2013-11/92275.htm 多种操作系统NTP客户端配置 

Linux下快速设定ip bond

    在计算机网路普及的初期,很多OS系统都使用的为单网卡方式,即一个网卡使用一个IP地址.随着网络要求的不断提高,我们可以对多个网卡进行绑定聚合当一个逻辑网络接口来使用,从而大幅提升服务器的网络吞吐(I/O),同时也可以根据不同的场景和需求来设置其绑定模式.本文简要描述一下其配置过程.   1. 编辑ifcfg-bond0文件###本文演示环境CentOS release 5.11,对eth0以及eth1进行bond# vi /etc/sysconfig/network-scripts/if

Linux下快速安装部署远程连接软件SSH的简明教程

  SSH分为客户端和服务端. 服务端是一个守护进程,一般是sshd进程,在后台运行并响应来自客户端的请求.提供了对远程请求的处理,一般包括公共密钥认证.密钥交换.对称密钥加密和非安全连接. 客户端一般是ssh进程,另外还包含scp.slogin.sftp等其他进程. 工作机制: 1. 客户端发送一个连接请求到远程服务端 2. 服务端检查申请的包和IP地址,再发生密钥给SSH客户端; 3. 客户端再将密钥发回服务端,自此建立连接. 下面我们开始正文: 一.客户端 1. 安装客户端(客户端不是必须

Linux下快速安装MongoDB

    Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象.Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作.本文介绍了如何快速安装mongodb供大家参考. 一.安装配置mongodbStep 1: 设置系统环境及确保缺省端口271

Linux下快速安装Deluge和网页客户端教程

Deluge虽然在没有出现在绝大多数桌面版Linux的桌面套件(Gnome.KDE等)中,但是因为他具有非常稳健的下载速度和Web端,得到了非常多朋友的好评,但是奇怪的是微魔用了这个东西这么久却没有写一篇关于她的教程.对于VPS而言,我们多数时候不需要可视化桌面,这时候如果想直观的下载一下种子文件,不妨使用Deluge的网页端进行可视化的操作,也有不少的SeedBox实际上也是采用了类似的方案. 本文是在OpenSUSE下测试安装 1.安装Deluge OpenSUSE下安装 安装前,到Pack