#!/bin/bash
url="http://nginx.org/download/nginx-1.16.1.tar.gz"
nginxdir="/opt/nginx"
echo "_____________________start_down____________________"
if [ ! $(cat /etc/passwd | cut -d ":" -f1 | grep nginx) ]
then
if [ ! $(cat /etc/group | cut -d ":" -f1 | grep nginx) ]
then
groupadd nginx
fi
useradd nginx -g nginx -s /sbin/nologin -d /var/cache/nginx
[ -d /var/cache/nginx ] || mkdir -p /var/cache/nginx
fi
if [ $(which nginx) ]
then
echo "nginx have installed , not need install again"
exit 129
elif [ $(systemctl list-units| grep nginx.service ) ]
then
echo "systemctl have nginx.service units. not need install nginx again"
exit 129
fi
([ $(which wget) ] ) || (echo "__________________install wget ___________________________" && yum install -y wget)
wget -P /tmp $url
tar -xvzf /tmp/nginx-1.16.1.tar.gz -C /tmp/
echo "______________start install dependencies____________________________"
yum install -y gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel gd-devel
mkdir -p $nginxdir
cd /tmp/nginx-1.16.1 && ./configure \
--prefix=$nginxdir \
--user=nginx \
--group=nginx \
--with-select_module \
--with-poll_module \
--with-threads \
--with-http_ssl_module \
--with-http_image_filter_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_slice_module \
--without-http_upstream_zone_module \
--with-mail \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-http_auth_request_module \
--with-debug
cd /tmp/nginx-1.16.1 && make && make install
cat <<EOF >/usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx -web server
After=network-online.target remote-fs.target nss-lookp.target
Wants=network-online.target
Documentation=http://nginx.org/en/docs/
[Service]
Type=forking
ExecStart=$nginxdir/sbin/nginx -c $nginxdir/conf/nginx.conf
ExecReload=$nginxdir/sbin/nginx -c $nginxdir/conf/nginx.conf -s reload
ExecStop=$nginxdir/sbin/nginx -s quit
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable nginx
rm -rf /tmp/nginx-1.16.1*