shell脚本之一键源码安装nginx软件包

Posted Hejing_zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本之一键源码安装nginx软件包相关的知识,希望对你有一定的参考价值。

使用环境:redhat/centos 7系,可复制粘贴使用,此脚本是在外网环境下使用
如无外网需下载nginx源码包gccpcre-develzlib-developenssl-devel等安装包。
此脚本也同样适用于国产麒麟v10系统,只是需要将nginx-1.14.0/src/os/unix/ngx_user.c文件26行注释掉,即可安装。

在这里插入图片描述

#!/bin/bash
#Author:hejing
#Date:2021-7-21
#Description:一键源码安装nginx

#定义不同颜色属性
setcolor_failure="echo -en \\\\033[91m"  #echo选项 -n 回显数据后不按回车即可换行;-e转义
setcolor_success="echo -ne \\\\033[32m"
setcolor_normal="echo -e \\\\033[0m"

#判断是否以管理员方式执行脚本
if [[ $UID -ne 0 ]];then
        $setcolor_failure
        echo -n "请以管理员身份运行该脚本."
        $setcolor_normal
        exit
fi

#判断系统中是否存在wget下载工具
#wget使用-c选项可以开启断点续传功能
if rpm --quiet -q wget;then
        wget -c http://nginx.org/download/nginx-1.14.0.tar.gz
else
        $setcolor_failure
        echo -n "未找到wget,请先安装该软件."
        $setcolot_normal
        exit
fi

#如果没有nginx账户,则该脚本自动创建该账户
if ! id nginx &>/dev/null;then
        adduser -s /sbin/nologin nginx
fi

#测试是否存在正确的源码包软件
#在源码安装前,先安装相关依赖包
#gcc:C语言编辑器,pcre-devel:Perl兼容的正则表达式库
#zlib-devel:gzip压缩库,openssl-devel:Openssl加密库
if [[ ! -f nginx-1.14.0.tar.gz ]];then
        $setcolor_failure
        echo -n "未找到nginx源码包,请先正确下载该软件..."
        $setcolor_normal
        exit
else
        yum -y install gcc pcre-devel zlib-devel openssl-devel
        clear
        $setcolor_success
        echo -n "接下来,需要花费几分钟的时间编译源码安装..."
        $setcolor_normal
        sleep 6
        tar -xf nginx-1.14.0.tar.gz
        #编译源码安装nginx,指定账户和组,指定安装路径,开启需要的模块,禁用不需要的模块
        cd nginx-1.14.0/
        ./configure \\
        --user=nginx \\
        --group=nginx \\
        --prefix=/data/server/nginx \\
        --with-stream \\
        --with-http_ssl_module \\
        --with-http_stub_status_module \\
        --without-http_autoindex_module \\
        --without-http_ssi_module
        make
        make install
fi

if [[ -x /data/server/nginx/sbin/nginx ]];then
        clear
        $setcolor_success
        echo -n "一键部署nginx已经完成!"
        $setcolor_normal
fi

以上是关于shell脚本之一键源码安装nginx软件包的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本之一键部署web服务器Nginx,日常解放双手!

常用的shell脚本之一键部署DNS服务正向解析

shell脚本之一键部署PXE远程安装服务,将解放双手进行到底!

shell脚本之一键部署yum本地源兼yum阿里源,再也不用为程序的下载安装烦扰!

shell 脚本案例之一键安装JDK

shell脚本:lnmp等源码安装脚本