自动化安装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

#安装成功

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

相关推荐
ROBOTGEEKER19 分钟前
越疆CR全系列工业协作臂|从3kg轻载到30kg重载,覆盖重复、高精、高危全制造场景
人工智能·机器人·自动化·制造
众创岛23 分钟前
Playwright 元素定位
python·自动化
gQ85v10Db34 分钟前
Redis分布式锁进阶第十五篇:全系列终极收官复盘 + 全站锁规范归档 + 生产零故障长期运维兜底总方案
运维·redis·分布式
智能化咨询1 小时前
(112页PPT)德勤制造业企业数据治理平台规划方案(附下载方式)
大数据·运维·人工智能
时光之源1 小时前
安装WSL2后在其中安装Ubuntu24.04.4再安装OpenClaw全流程傻瓜式教学:WSL2 + Ubuntu 24.04 + OpenClaw
linux·运维·ubuntu·openclaw·龙虾
eastyuxiao1 小时前
流程图 + 配置清单 在团队 / 公司项目管理场景的落地应用
大数据·运维·人工智能·流程图
Arya_aa1 小时前
四:部署前端和后端
nginx
架构源启2 小时前
OpenClaw 只能命令行触发?自研企业微信实现发消息即执行
java·chrome·自动化·企业微信
Jinkxs2 小时前
LoadBalancer- 常见负载均衡算法:轮询 / 加权轮询 / 最少连接等基础实现
运维·算法·负载均衡
eastyuxiao2 小时前
流程图 + 配置清单 在团队 / 公司运维场景的落地应用方法
运维·人工智能·流程图