#!/bin/bash
#
#********************************************************************
#Author: Wuvikr
#QQ: 744123155
#Date: 2020-11-29
#FileName Install_Nginx1.18.sh
#URL: http://www.wuvikr.top
#Description The test script
#Copyright (C): 2020 All rights reserved
#********************************************************************
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
CPU=`lscpu | sed -rn 's/^CPU(s)[^0-9]+([0-9]+)/1/p'`
File=nginx-1.18.0.tar.gz
Version=${File%.tar*}
Dir=/apps/nginx
install (){
# 检测安装包并解压
[ -f $File ] && tar xvf nginx-1.18.0.tar.gz || echo -e 'e[1;31m当前目录没有检测到安装包,请提前准备好安装包!e[0m'
# 安装相关包
yum -y install gcc make pcre-devel openssl-devel zlib-devel
# 创建nginx用户
useradd -r -s /sbin/nologin nginx
# 切换目录
cd $Version
# 编译安装
./configure
--prefix=$Dir
--user=nginx
--group=nginx
--with-http_ssl_module
--with-http_v2_module
--with-http_realip_module
--with-http_stub_status_module
--with-http_gzip_static_module
--with-pcre --with-stream
--with-stream_ssl_module
--with-stream_realip_module
make -j $CPU && make install
# 创建软连接
ln -s /apps/nginx/sbin/nginx /usr/sbin/
# 创建service文件
cat > /lib/systemd/system/nginx.service <<EOF
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/run/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf -g "pid $Dir/run/nginx.pid;"
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
EOF
# 创建pid目录
mkdir /apps/nginx/run/
# 重新加载配置并启动nginx
systemctl daemon-reload
systemctl enable --now nginx
}
install
echo -e "e[1;32m${Version}安装成功!e[0m"