Linux在高铁项目的部署环境

Linux在高铁项目的部署环境

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

因为Linux和Java像开源。所以,现在在server基本上使用部署Linux平台即server。然后部署项目。在开发项目的过程中。程序员绝大多数仍采用最经典windows操作系统,尽管Linux也有系统的桌面,为人民,还是不太习惯。持Linux平台。所以在使用的频率那是相当的少!

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

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

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

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

更明确的来说,shell script就想早起dos年代的.bat,最简单的功能就是将很多指令汇整写一起,让使用者非常easy的就行一个操作运行多个命令,而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

这里的

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

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

killall java强制杀死Java程序

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

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

cd是指进入文件夹

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

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

这里做了一个优化,由于在我们的程序中使用到了6002port,所以假设服务开启完成后port还没有起来,也就是listen状态。netstat -an这命令是用来查看当前系统中全部port信息,这些port中的6002port是我们所须要的数据,所以我们能够用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刚才改动的文件!

最后我们是不是能够非常轻松非常方便非常快捷就能把我们的项目又一次部署了呢!

为各位附上最经常使用的Linux命令集:http://blog.csdn.net/luo201227/article/details/23295435

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116780.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 排列组合cn和an公式[通俗易懂]

    排列组合cn和an公式[通俗易懂]排列组合cn和an公式?排列的公式:A(n,m)=n×(n-1)…(n-m+1)=n!/(n-m)!(n为下标,m为上标,以下同)。例如:A(4,2)=4!/2!=4*3=12。(考虑顺序,不考虑顺序则为6)组合的公式:C(n,m)=P(n,m)/P(m,m)=n!/m!*(n-m)!。例如:C(4,2)=4!/(2!*2!)=4*3/(2*1)=6。作者:浣熊数学链接:https://www.zhihu.com/question/26094736/answer/61071397

  • mysql explain 无效[通俗易懂]

    mysql explain 无效[通俗易懂]最近分析一段sql是不是命中索引的,发现有的时候explain是可以的,有的时候又不行显然我们是要下面的结果。经过分析,原来是中间件的原因,直连mysql的可以用explain连mycat就不行。解决办法可以使用desc,也能达到同样效果…

    2022年10月17日
  • updog:一款局域网传输文件的软件

    updog:一款局域网传输文件的软件前言不知道你是否有过这样的需求,在局域网传输文件,苦于没有好的软件支持,或者只能单向传输,updog可以完全解决这种问题安装pip3installupdogupdog是python中的一个第三方库使用updog这里注意updog要在可以读写的路径下面运行,否则访问会出错,或者启动就会报错如果你不想切换到路径去运行,也可以使用-d去指定一个可读写的目录optiona…

  • oracle可视化工具_oracle rac架构

    oracle可视化工具_oracle rac架构SRVCTL是ORACLERAC集群配置管理的工具,可以管理Database、Instance、ASM、Service、Listener和NodeApplication,NodeApplication包括GSD,ONS,VIP。srvctl的命令格式为srvctl[options]srvctlUsage:srvctl[]command:enable|disable|start|sto…

  • SpringCloud从入门到精通教程/SpringCloud Alibaba从入门到精通教程[通俗易懂]

    对于SpringCloud,很多小伙伴问到了我的研究学习资料来源,除官方文档外,特例完整整理一下自己的平时参考学习其他资料,以及分享实战项目源码和代码资源,供大家参考学习主要教程:SpringCloud教程SpringCloudGreenwich,基于SpringBoot2.1.7,Github源码仓库案例下载一、我的教程(2019.11更新)SpringCloud…

  • 使用SSH隧道和Squid创建专用加密代理以进行真正的隐私浏览「建议收藏」

    使用SSH隧道和Squid创建专用加密代理以进行真正的隐私浏览「建议收藏」在远程Linux机器上运行代理服务器,并通过SSH隧道将所有流量传输到它。第1步:安装Squid因为我使用CentOS,所以我只是做了一个 yuminstallsquid第2步:配置Squid好吧,默认的squid配置(/etc/squid/squid.conf)非常好,虽然我需要添加一个ACL子句,所以我实际上可以使用代理。远程的局域网是192.168.1.0/24,所以把这…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号