shell脚本之一键源码安装nginx软件包
Posted Hejing_zhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本之一键源码安装nginx软件包相关的知识,希望对你有一定的参考价值。
使用环境:redhat/centos 7系,可复制粘贴使用,此脚本是在外网环境下使用
如无外网需下载nginx源码包
、gcc
、pcre-devel
、zlib-devel
、openssl-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脚本之一键部署PXE远程安装服务,将解放双手进行到底!