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完成!"

  

  

posted @   Sinsen柳  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示