-
指定版本号和用户;
-
确定安装目录;
-
确定安装编译模块;
-
安装相关依赖;
-
下载源码包并解压;
-
编译安装;
-
文件授权及临时文件清理。
#!/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" ]; then echo "目录已存在..." else mkdir -p "INSTALL_DIR"
echo "目录创建完成..."
fi#用户检测,没有则创建
if ! id -u "$NGINX_USER" > /dev/null 2>&1; then
useradd $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
#安装成功
#切换到普通用户成功启动