1. 指定版本号和用户;
2. 确定安装目录;
3. 确定安装编译模块;
4. 安装相关依赖;
5. 下载源码包并解压;
6. 编译安装;
7. 文件授权及临时文件清理。
#!/bin/bash# 用户输入的Nginx版本号NGINX_VERSION=$1 # 传入用户NGINX_USER="$2" # 定义Nginx安装目录INSTALL_DIR="/work/nginxpwd" #定义编译安装模块,有需要请自己新增MODULES="--with-http_ssl_module \--with-http_realip_module \--with-http_sub_module \--with-stream \--with-http_stub_status_module \--with-stream_ssl_module"#目录检测,没有则创建if [ -d "$INSTALL_DIR" ]; thenecho "目录已存在..."
elsemkdir -p "$INSTALL_DIR"echo "目录创建完成..."
fi#用户检测,没有则创建if ! id -u "$NGINX_USER" > /dev/null 2>&1; thenuseradd $NGINX_USER
fi# 安装相关依赖yum -y install gcc gcc-c++ make automake autoconf pcre pcre-devel zlib zlib-devel openssl openssl-devel libtool GeoIP-devel wget# 下载Nginx源码包wget -O /tmp/nginx-${NGINX_VERSION}.tar.gz https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz# 解压源码包tar -zxf /tmp/nginx-${NGINX_VERSION}.tar.gz -C /tmp/# 进入源码目录cd /tmp/nginx-${NGINX_VERSION}# 配置、编译并安装Nginx./configure --prefix=$INSTALL_DIR \--user=$NGINX_USER \--group=$NGINX_USER \$MODULES \&& make -j$(nproc) \&& make install# 清理临时文件rm -rf /tmp/nginx-${NGINX_VERSION} /tmp/nginx-${NGINX_VERSION}.tar.gz#调整目录用户权限chown -R $NGINX_USER:$NGINX_USER $INSTALL_DIR#安装成功的提示echo "Nginx ${NGINX_VERSION} has been installed to ${INSTALL_DIR}"
传入版本号和用户进行安装
sh nginx_install.sh 1.24.0 test2
#安装成功
#切换到普通用户成功启动