[root@admin ~]# cat ngin.sh
#!/bin/bash
# 定义一个函数来获取计算机的基本信息
computer () {
echo -e "主机名:\c" # 打印主机名,并且不换行(-e 允许转义字符,\c 不换行)
hostname # 获取并打印主机名
echo -e "ipv4地址:\c"
ifconfig | grep inet | head -n 1 | awk -F " " '{print$2}' # 提取IPv4地址
echo -e "操作系统版本:\c"
hostnamectl | grep -i system | cut -d " " -f4- # 提取操作系统版本信息
echo -e "内核版本:\c"
hostnamectl | grep -i kernel | cut -d ":" -f2- # 提取内核版本信息
echo -e "cpu型号:\c"
lscpu | grep -i 型号名称:| cut -d " " -f2- | tr -s " " # 提取CPU型号信息并去除多余空格
echo -e "内存还剩:\c"
free -m | grep -i ^mem | awk -F " " '{print$4}' # 提取剩余内存大小(MB)
echo -e "硬盘大小:\c"
lsblk -o NAME,SIZE | grep ^nvme0n1 | awk -F " " '{print$2}' # 提取名为nvme0n1的硬盘大小
}
# 定义一个函数来安装nginx
nginx () {
echo "-----------------------------------------------"
# 检查网络连接
ping -c 2 www.baidu.com &> /dev/null
if [ $? -ne 0 ];then
echo "网络连接失败"
exit 1;
fi
echo "-----------------准备安装nginx源码包和相关依赖包-------------"
# 安装依赖包
yum -y install gcc make gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel &> /dev/null
# 定义nginx的下载链接
i=https://nginx.org/download/nginx-1.26.0.tar.gz
# 下载nginx源码包
wget $i &>/dev/null
if [ $? -ne 0 ];then
echo "--------------下载出错,尝试再次下载-----------------"
rm -rf ./nginx-1.26.0.tar.gz &> /dev/null # 如果下载失败,删除之前的文件
wget $i # 尝试重新下载
else
echo "---------------nginx下载完成-------------------"
fi
tar -xf ${i/*download\/} -C /usr/local/ &> /dev/null # 这里可能不会正确工作,建议使用固定的文件名
# 添加nginx用户
useradd -s /sbin/nologin nginx &> /dev/null
# 检查nginx源码目录是否存在,并编译安装
if [ -d /usr/local/nginx-1.26.0 ];then
cd /usr/local/nginx-1.26.0 && \
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module &> /dev/null && \
make &>/dev/null && \
make install &>/dev/null
else
echo "------------没有nginx目录---------------"
exit 1;
fi
# 检查nginx是否安装成功
if [ $? -eq 0 ];then
echo "------------nginx安装完成--------------"
fi
}
nginx_start () {
systemctl stop firewalld.service
setenforce 0
/usr/local/nginx/sbin/nginx
if [ $? -eq 0 ];then
echo "------------nginx启动成功-----------------"
fi
ss -anltp| grep nginx
}
computer
nginx
nginx_start
shell 脚本安装nginx
于 2024-05-20 18:23:44 首次发布