shell 脚本:nginx jdk maven node-exporter docker-ce
写一个脚本,本地自带nginx1.24源码包,然后自动完成安装,并加入system管理。并设置开启自启动,并启动ng。并完成对80端口的curl测试,返回状态码200打印启动正常的消息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #!/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 版本输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #!/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 '/' )<br> #jdk dir=$(ll sed -n 2p awk -Fprint $9]') 这个也行 # 移动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 版本输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #!/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启停:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #!/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<br> #<a href="https://prometheus.io/download/#node_exporter****" rel="noopener nofollow">Download | Prometheus</a> 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #先下载: 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完成!" |
分类:
2023Linux基础
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤