#! /usr/bin/bash
cat << EOF
======================================
脚本说明
配置文件和安装路径在/usr/local/nginx
脚本中判断执行用户是否是root
该脚本必须在/opt目录下
如果之前存在yum安装的nginx,会删除
======================================
EOF
if [ `id -u` -eq 0 ];then # 判断用户是否为root,root用户为0
path=`cd $( dirname $0 ) ; pwd` # 检查当前路径
if [ $path = '/opt' ];then # 判断脚本当前路径是否在opt下
rpm -qa | grep -P nginx # 判断有无nginx
if [ $? =0 ];then # 判断返回值是否为0,为0则上边操作为真
read -p "此操作会删除nginx数据,是否执行[Y|N]" read1
if [ read1=$[ read1:="Y" ]];then # 判断用户输入 默认Y
systemctl stop nginx # 如果启动,停止nginx
yum remove nginx # 卸载nginx
else
echo "用户取消安装,程序终止"
exit
fi
else # 无则安装
yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel # 安装相关依赖包
wget https://nginx.org/download/nginx-1.16.1.tar.gz # 下载1.16版本nginx压缩包
tar xvzf nginx-1.16.1.tar.gz # 解压
rm -rf nginx-1.16.1.tar.gz # 删除压缩包
cd nginx-1.16.1 # 进入目录
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
make # 编译
make install # 安装
useradd nginx &> /dev/null # 创建nginx用户
systemctl stop firewalld # 停止防火墙
/usr/local/nginx/sbin/nginx # 启动nginx
echo "安装完成!"
echo "配置文件和安装路径在/usr/local/nginx"
fi
else
echo "对不起,你不在/opt目录,无法执行脚本"
fi
else
echo "对不起,你不是root用户,无法执行脚本"
fi
脚本一键编译安装nginx
于 2024-03-27 20:59:53 首次发布