首页 > 系统相关 >shell 脚本:nginx jdk maven node-exporter docker-ce

shell 脚本:nginx jdk maven node-exporter docker-ce

时间:2023-08-04 15:36:12浏览次数:52  
标签:node shell jdk tar gz echo exporter

 

写一个脚本,本地自带nginx1.24源码包,然后自动完成安装,并加入system管理。并设置开启自启动,并启动ng。并完成对80端口的curl测试,返回状态码200打印启动正常的消息:

#!/bin/bash

# 安装依赖
sudo apt-get update
sudo apt-get install -y build-essential wget curl

# 下载并解压nginx源码包
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -xvzf nginx-1.24.0.tar.gz
cd nginx-1.24.0

# 配置编译参数,以及需要的模块
./configure --with-http_ssl_module --with-stream

# 编译安装
make
sudo make install

# 创建systemd服务脚本
sudo tee /lib/systemd/system/nginx.service << EOF
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/local/nginx/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/bin/kill -s HUP \$MAINPID
ExecStop=/bin/kill -s QUIT \$MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

# 设置开机自启动
sudo systemctl enable nginx

# 启动NGINX服务
sudo systemctl start nginx

# 等待一段时间,以确保NGINX成功启动
sleep 5

# 对80端口进行curl测试
response_code=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:80)

# 打印测试结果
if [[ $response_code -eq 200 ]]; then
    echo "NGINX启动正常"
else
    echo "NGINX启动失败"
fi

  

2 写一个脚本,本地自带jdk8压缩包,自动完成jdk8的安装,并设置java home和jdk bin的PATH,最后打印出java 版本输出:

#!/bin/bash

# 下载JDK并设置环境变量
install_jdk8() {
    # 下载JDK 8
    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

    # 解压缩JDK
    tar -xf jdk-8u131-linux-x64.tar.gz

    # 获取JDK目录名
    jdk_dir=$(tar -tzf jdk-8u131-linux-x64.tar.gz | head -1 | cut -f1 -d'/')

    # 移动JDK到/opt目录
    sudo mv $jdk_dir /opt/

    # 设置环境变量
    echo "export JAVA_HOME=/opt/$jdk_dir" >> /etc/profile
    echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile

    # 刷新环境变量
    source /etc/profile
}

# 安装JDK 8
install_jdk8

# 输出Java版本信息
java -version






#!/bin/bash

# 下载JDK并设置环境变量

# 下载JDK 8
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

# 解压缩JDK
tar -xf jdk-8u131-linux-x64.tar.gz

# 获取JDK目录名
jdk_dir=$(tar -tzf jdk-8u131-linux-x64.tar.gz | head -1 | cut -f1 -d'/')

# 移动JDK到/opt目录
sudo mv $jdk_dir /opt/

# 设置环境变量
echo "export JAVA_HOME=/opt/$jdk_dir" >> /etc/profile
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile

# 刷新环境变量
source /etc/profile

# 输出Java版本信息
java -version

  

 

 

3 写一个脚本,本地自带maven压缩包,自动完成maven的安装,并设置PATH,最后打印出maven 版本输出:

#!/bin/bash

# 定义安装目录
INSTALL_DIR="/opt/maven"

# 下载Maven压缩包
echo "正在下载Maven..."
wget -q -O /tmp/maven.tar.gz https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz
#下载地址在官网https://maven.apache.org/download.cgi选要的版本右键复制链接

# 检查下载是否成功
if [ $? -ne 0 ]; then
echo "下载Maven失败,请检查网络连接和下载链接。"
exit 1
fi

# 解压Maven
echo "正在解压Maven ${MAVEN_VERSION}..."
mkdir -p "$INSTALL_DIR"
tar -xzf /tmp/maven.tar.gz -C "$INSTALL_DIR" --strip-components=1

# 设置环境变量(全局生效)
echo "export MAVEN_HOME=$INSTALL_DIR" >> /etc/profile
echo "export PATH=\$PATH:\$MAVEN_HOME/bin" >> /etc/profile

# 立即生效全局环境变量
source /etc/profile

# 清理临时文件
rm /tmp/maven.tar.gz

# 输出Maven版本信息
echo "Maven安装完成!"
mvn --version

  

  

 写一个脚本,安装node-exporter并使用system启停:

#!/bin/bash

# 检查是否具有root权限
if [[ $EUID -ne 0 ]]; then
  echo "请以root权限运行此脚本。"
  exit 1
fi

# 下载和安装node-exporter
echo "下载和安装node-exporter..."
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
#Download | Prometheus tar -xzf node_exporter-1.6.1.linux-amd64.tar.gz mv node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/ rm -rf node_exporter-1.6.1.linux-amd64.tar.gz node_exporter-1.6.1.linux-amd64 # 创建node-exporter的systemd服务文件 echo "创建systemd服务文件..." cat << EOF > /etc/systemd/system/node_exporter.service [Unit] Description=Node Exporter After=network.target [Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target EOF # 创建node_exporter用户 echo "创建node_exporter用户..." useradd -rs /bin/false node_exporter # 启动并启用node_exporter服务 echo "启动并启用node_exporter服务..." systemctl daemon-reload systemctl start node_exporter systemctl enable node_exporter echo "安装完成!"

  

 

写一个脚本,离线自动安装和启动docker-ce,并设置开机自启动,https://docs.docker.com/engine/install/centos/#install-from-a-package:

#先下载:
yumdownloader --resolve --destdir=/test docker-ce

#!/bin/bash

# 设置Docker CE安装包文件名
DOCKER_PACKAGE="docker-ce-24.0.5-1.el7.x86_64.rpm"

# 检查是否具有root权限
if [[ $EUID -ne 0 ]]; then
  echo "请以root权限运行此脚本。"
  exit 1
fi

# 确认Docker安装包是否存在
if [ ! -f "$DOCKER_PACKAGE" ]; then
  echo "找不到Docker CE安装包:$DOCKER_PACKAGE"
  exit 1
fi

# 安装Docker
echo "安装Docker..."
yum install -y ./$DOCKER_PACKAGE

# 设置Docker开机自启动
echo "设置Docker开机自启动..."
systemctl enable docker

# 启动Docker服务
echo "启动Docker服务..."
systemctl start docker

echo "安装和启动Docker CE完成!"

  

  

标签:node,shell,jdk,tar,gz,echo,exporter
From: https://www.cnblogs.com/sinsenliu/p/17603679.html

相关文章

  • Newnode's NOI(P?)模拟赛 第二题 dp决策单调优化
    其实直接暴力O(n3)DP+O2O(n^3)DP+O_2O(n3)DP+O2优化能过…CODEO(n3)O(n^3)O(n3)先来个O(n3)O(n^3)O(n3)暴力DP(开了O2O_2O2)100分代码(极限数据0.5s0.5s0.5s)#include<cstdio>#include<cstring>#include<algorithm>usingnamespacestd;......
  • k8s node节点NotReady
    问题rke加入新节点报错ERRO[0150]Failedtoupgradehosts:k8s-node03witherror[hostk8s-node03notready]FATA[0150][workerPlane]FailedtoupgradeWorkerPlane:[hostk8s-node03notready]解决思路使用kubectldescribe查看节点信息:kubectldescribenok8s-nod......
  • IDEA官宣: 最低 JDK 17!2022.3 版本开始!
    JetBrains博客显示:IntelliJ项目的源代码最近迁移到了Java17。尽管仍然编译了一些模块与旧Java版本兼容,以支持在老版本Java下运行用户的项目。但现在大多数平台和插件模块都使用Java17,而即将推出的所有基于IntelliJ的IDE的2022.3版本都需要Java17才能启动。对用......
  • 【答疑】jsonpath和beanshell配合使用案例
    问题今天提升群小伙伴问了这样一个问题:接口返回如下(list元素个数不确定),需要提取所有的iautoid,然后用逗号拼接起来,如果是如下返回,需要得到的结果是1687283717749342208,1679392630364184576,后续请求需要使用{ "data":{ "firstPage":true, "lastPage":false, "list":......
  • Xshell使用技巧及常用配置
    Xshell使用1、调整Xshell的终端显示和回滚缓冲区大小磨刀不误砍柴工,为了更方便地学习Linux,首先得对终端进行一些调整,步骤如下:首先通过xshell顶部菜单中的文件-->属性,打开会话属性窗口,然后点终端,按下图配置:调整终端显示和回滚缓冲区的说明如下。终端选择为Linux(有网......
  • JDK1.6在生产环境引起的坑
    本文分享自华为云社区《【高并发】记一次JDK1.6在生产环境引起的坑!》,作者:冰河。最近有朋友遇到一个困惑:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况。这个问题都困扰他一周多了。后来在排查问题的过程中,发现这位小伙伴使用的JDK还是1.6版本。开......
  • jdk安装以及环境变量的配置
    上课笔记鼠标右键“此电脑”选择属性#*jdk安装以及环境变量的配置&运行程序HelloWorld......
  • shell 8.3
    bash基础内置命令echo命令-n不换行输出-e解析字符串的特殊字符eval执行多个命令eg:evalls;cd/tmpexec不创建子进程,执行后续命令,且执行命令完后自动exit${变量}返回变量值${#name}返回变量长度,字符长度${变量:start}返回变量start之后的${变量:start:length}${变......
  • JavaSE--jdk的安装以及环境变量相关
    一、jdk的安装在oracle官网安装javase即可,有exe和zip两种jdk的bin目录下有javac.exe负责编译,java.exe负责运行二、有关环境变量的配置1、配置环境变量path的步骤桌面计算机右击》属性》高级系统设置》环境变量path环境变量当中都是路径,路径与路径之间必须用英文半角分开2......
  • JavaSE--JDK、JRE、JVM三者之间的关系
    JDK:Java开发工具箱JRE:Java运行环境JVM:java虚拟机JDK包括JRE,JRE包括JVM。jvm是不能独立安装的,但是jre和jdk是可以单独安装的安装jdk后jre自动就安装了安装jre后jvm就自动安装了 问题:在客户进行项目部署时,把项目跑起来,需要安装jdk么?只需要安装jre就行,jre体积小,安装便捷 Java体......