当前位置: 首页 > news >正文

linux脚本

程序后台运行:
nohup java -jar xxx.jar &>hello.log &
后台运行java-jar命令,并且将日志输出到hello.log文件

防火墙:
开启防火墙:systemctl start firewalld
开放指定端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
关闭指定端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanent
立即生效:firewall-cmd --reload
查看开放的端口:firewall-cmd --zone=public --list-ports

通过shell脚本自动部署项目:
1、在linux服务器中安装git
yum list git 列出git安装包
yum install git 在线安装git

2、在linux服务器中安装maven
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
vim /etc/profile,然后输入:
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

source /etc/profile
mvn -version
vim /usr/local/apache-maven-3.5.4/conf/settings.xml 修改配置文件:
< localRepository >/usr/local/repo< /localRepository>

3、编写shell脚本(拉取代码、编译、打包、启动) bootStart.sh

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================echo 停止原来运行中的工程
APP_NAME=helloworldtpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; thenecho 'Stop Process...'kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; thenecho 'Kill Process!'kill -9 $tpid
elseecho 'Stop Success!'
fiecho 准备从Git仓库拉取最新代码
cd /usr/local/helloworldecho 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`cd targetecho 启动项目
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> helloworld.log &
echo 项目启动完成

4、为用户授予执行shell脚本的权限

chmod 777 bootStart.sh 为所有用户提供读、写、执行权限
chmod 755 bootStart.sh 为文件拥有者赋予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootStart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有权限

5、执行shell脚本

http://www.lryc.cn/news/115821.html

相关文章:

  • 企升编辑器word编写插件
  • 怎么在JMeter中的实现关联
  • 算法通关村第六关——如何使用中序和后序来恢复一颗二叉树
  • leetcode算法题--判断是否能拆分数组
  • 基于Flask的模型部署
  • 【资料分享】全志科技T507-H开发板规格书
  • 2023华数杯数学建模C题思路 - 母亲身心健康对婴儿成长的影响
  • 【Kaggle】Identify Contrails to Reduce Global Warming 比赛数据集的可视化(含源代码)
  • Spring(12) BeanFactory 和 ApplicationContext 区别
  • git的日常使用
  • 【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)
  • layui之layer弹出层的icon数字及效果展示
  • Python selenium对应的浏览器chromedriver版本不一致
  • Redis的安装方法与基本操作
  • 选读SQL经典实例笔记20_Oracle语法示例
  • JAVA细节/小技巧
  • jmeter如何压测和存储
  • 一个月学通Python(三十三):Python并发编程在爬虫中的应用
  • HCIP——STP
  • 【数据结构】“单链表”的练习题
  • 项目实战 — 消息队列(5){统一硬盘操作}
  • 【2.2】Java微服务:Hystrix的详解与使用
  • 【PYTHON】WebSocket服务端与客户端通信实现
  • Runloop 的五种mode
  • C++头文件使用精要
  • Flink之SideOutput(数据分流)
  • Android Studio新版本logcat过滤说明
  • carsim与matlab仿真
  • rust里如何快速实现一个LRU 本地缓存?
  • MQTT 订阅接收消息 mosquitto 方式