#!/bin/bash
# 加载公共函数库
source <(curl -sSL https://www.klquan.com/scripts/common.sh)

# 基础配置（每个脚本不一样）
server="nginx"
# home="/data"
home="/usr/local"
download_patch="https://nginx.org/en/download.html"

# 1.获取软件安装包并选择版本
all_package=($(get_packages "$server" "$download_patch"))
package=$(select_version "$1" "${all_package[@]}")
show_usage

# 2.确认信息
countdown "$home" "$package"

# 3.安装过程
echo "【1】下载源码包"
  curl -L -o "$home/$package" -# "$packages_url$package"
  check

echo "【2】安装依赖包"
  #yum -y install epel-release >/dev/null 2>&1
  yum -y install pcre-devel openssl-devel openssl gcc gcc-c++ make automake >/dev/null 2>&1
  check

echo "【3】解压并安装"
  cd "$home"
  server_dir=$(tar -tf "$package" 2>/dev/null | head -1 | cut -f1 -d"/")
  tar xf "$package" && rm -f "$package"
  cd $server_dir
  ./configure --prefix=$home/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream >/dev/null 2>&1
  if [ `echo $?` -ne 0 ];then
      echo '编译失败，请手动检查'
      exit 3
  fi
  make  >/dev/null 2>&1
  make install >/dev/null 2>&1
  check

echo "【4】配置优化服务参数"
  egrep -v "#|^$" $home/nginx/conf/nginx.conf.default > $home/nginx/conf/nginx.conf
  sed -i '/server_name/a\        include conf.d/*.conf;' $home/nginx/conf/nginx.conf
  mkdir -p "$home/nginx/conf/conf.d"
  #    ln -s $home/nginx/sbin/* /usr/local/bin/
check

echo "【5】配置systemd管理"
cat > /usr/lib/systemd/system/nginx.service << EOF
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStartPre=$home/nginx/sbin/nginx -t -c $home/nginx/conf/nginx.conf
ExecStart=$home/nginx/sbin/nginx
ExecReload=$home/nginx/sbin/nginx -s reload
ExecStop=$home/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF


systemctl daemon-reload
systemctl enable nginx >/dev/null 2>&1
systemctl start nginx
check


echo "【完成】路径在$home/nginx/下"
echo "    ····查看执行：systemctl status nginx"

