自动化安装Nginx

  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

#安装成功

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

相关推荐
我言秋日胜春朝★2 分钟前
【Linux】进程地址空间
linux·运维·服务器
C-cat.23 分钟前
Linux|环境变量
linux·运维·服务器
yunfanleo38 分钟前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
烦躁的大鼻嘎1 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
乐大师1 小时前
Deepin登录后提示“解锁登陆密钥环里的密码不匹配”
运维·服务器
ac.char1 小时前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾1 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
传而习乎2 小时前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
soulteary2 小时前
突破内存限制:Mac Mini M2 服务器化实践指南
运维·服务器·redis·macos·arm·pika
运维&陈同学4 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列