#!/bin/bash
#this is nginx.sh
#检测当前用户是否为root用户
[ $(id -u) != "0" ]&& echo "error,not root user" && exit 1
read -p "是否开始安装nginx(y/n):" cho
case $cho in
#匹配y/n/*选项
y)
echo "开始安装nginx"
;;
n)
exit 1
;;
*)
echo "错误命令,请输入正确命令(y/n)"
exit 1
;;
esac
if [ ! -d /ftp/data ];then
#判断/opt目录是否存在
mkdir -p /ftp/data
fi
a=nginx-1.18.0
tar zxf $a.tar.gz
mv $a /ftp/data/nginx
#给nginx用户和组设置变量
nginxu=`awk -F: '$0~/nginx/' /etc/passwd|wc -l`
nginxg=`awk -F: '$0~/nginx/' /etc/group|wc -l`
if [ $nginxu -ne 0 ] && [ $nginxg -ne 0 ];then
#判断nginx用户和组是否存在,不存在则创建
echo "nginx用户和组已存在"
else
useradd -M -s /sbin/nologin nginx
fi
yum install gcc gcc-c++ pcre pcre-devel zlib-devel -y
cd /ftp/data/nginx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make && make install
if [ $? -eq 0 ];then
#安装成功$?输出为0时,创建nginx命令软链接。
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#启动nginx
/usr/local/nginx/sbin/nginx
#开启防火墙
firewall-cmd --permanent --add-port=80/tcp && service firewalld restart
rm -rf /ftp/data/nginx
else
echo "安装失败!!!"
fi