热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux的部署脚本笔记

stop.sh结束进程的脚本kill-9$(netstat-nlp|grep:80|awk{print$7}|awk-F{print$1})$(netstat-nlp|gre

stop.sh结束进程的脚本

kill -9 $(netstat -nlp | grep :80 | awk '{print $7}' | awk -F"/" '{ print $1 }')

$(netstat -nlp | grep :80 | awk ‘{print $7}’ | awk -F"/" ‘{ print $1 }’)

kill-9 杀死进程
$()拼接符号
netstat -nlp | grep :80 列出端口为80的进程
awk ‘{print $7}’ | awk -F"/" '{ print $1 }从第七列到第一列

pullCode.sh从git拉取代码的脚本

git pull origin
echo "更新成功!"

start.sh从git拉取代码的脚本

if [ "$1" = "" ]; thenecho "请输入环境值:dev,test,prod..."else# mvn clean package# exec nohup mvn spring-boot:run -Drun.profiles="$1" &mvn clean package;exec nohup java -jar -Dspring.profiles.active="$1" -Duser.timezone="Asia/Shanghai" -server ./target/hh-cloud-aa.jar &tail -f ./nohup.outecho "启动成功"
fi

每个if语句都要用fi结束,而且是每一个if都要对应一个fi。
整个if语句用fi闭合起来才算完整,
书写时if和fi要垂直对齐以方便查看

if [ "$1" = "" ]; then 执行语句1
else执行语句2
fi

[ “$1” = “” ];是判断条件,如果 [ “$1” = “” ];成立(返回“真”),那么 then 后边的语句执行语句1将会被执行;如果 [ “$1” = “” ];不成立(返回“假”),那么会 执行else语句执行语句2。最后必须以fi来闭合,fi 就是 if 倒过来拼写,即使有多条语句也不需要用{ }包围起来

mvn clean package(打包)
tail -f ./nohup.out打印日志信息
echo “启动成功”输出启动成功提示
exec nohup java -jar -Dspring.profiles.active="$1" -Duser.timezone=“Asia/Shanghai” -server ./target/hh-cloud-aa.jar &在这里插入代码片
java -jar启动
-Dspring.profiles.active="$1"指定配置文件 其中 $1是动态参数
-Duser.timezone=“Asia/Shanghai”设置默认时区
hh-cloud-aa.jar项目jar名称
-server服务



  • git branch 查看当前所在的分支
  • git checkout master 切换到madter分支

执行命令:
  • ps -elf|grep java
  • ./stop.sh
  • ./pullCode.sh
  • ./start.sh prod



可能会遇到的问题:

1.-bash: ./stop.sh: Permission denied
解决办法:chmod u+x *.sh


2.no main manifest attribute, in ./target/hh-cloud-aa.jar
解决办法:
排除法思路:

  1. cd target/ 查看target的jar 名称是否和启动文件配置的一致如果一致排查第二个
  2. java -jar hwqh-cloud-user.jar跳过脚本-直接启动测试 如果启动可以成功 则检查启动脚本

项目的pom文件添加
hh-cloud-aa你項目的名字

hh-cloud-aaorg.springframework.bootspring-boot-maven-plugincn.com.hh.user.UserApplicationrepackage

完整代碼:

hh-cloud-aaorg.mybatis.generatormybatis-generator-maven-plugin1.3.2src/test/resources/config/generatorConfig.xmltruetrueorg.springframework.bootspring-boot-maven-plugincn.com.hh.user.UserApplicationrepackage


推荐阅读
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • 本文将详细介绍如何在SSM框架中无缝集成ShardingSphere 4.10,以实现高效的数据分片和读写分离。通过实例演示和代码解析,帮助开发者快速掌握这一复杂但实用的技术。文章从基础概念入手,逐步深入到具体配置和应用实践,旨在为读者提供一个全面、易懂的整合指南。 ... [详细]
  • 一键将应用部署至远程服务器,体验超乎想象的便捷与高效
    该插件作为IDEA的内置功能,用户可以直接启用,无需额外安装。通过简单的配置,即可实现应用的一键部署至远程服务器,极大地提升了开发效率和便捷性。插件支持镜像管理和容器管理,允许用户与容器进行交互,并且兼容Docker Compose,适用于复杂的多容器应用部署。总结部分详细介绍了插件的使用方法和优势,附带的参考资料和项目源码地址为用户提供更多学习和实践资源。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 本文深入解析了Spring Cloud路由网关Zuul的核心功能及其典型应用场景。通过对方志朋老师教材的学习和实践,详细探讨了Zuul在微服务架构中的重要作用,包括请求路由、过滤器链管理以及服务动态扩展等关键特性。同时,结合实际案例,展示了Zuul在高并发和复杂业务场景下的应用优势,为读者提供了全面的技术参考。 ... [详细]
  • 编程心得:精选5.20告白代码,助你赢得佳人芳心,单身人士速来取经!
    编程心得:精选5.20告白代码,助你赢得佳人芳心,单身人士速来取经! ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
author-avatar
小薇虫虫_851_413
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有