自动化安装Nginx

发布于:2024-05-31 ⋅ 阅读:(121) ⋅ 点赞:(0)

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" ]; 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

图片

#安装成功

图片

#切换到普通用户成功启动

图片


网站公告

今日签到

点亮在社区的每一天
去签到