[root@localhost ~]# cat nginx.sh
#!/bin/bash
version=nginx-1.20.1.tar.gz
name=nginx-1.20.1
install_dir=/usr/local
log=/var/log/nginx
#解决依赖关系
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel wget gd-devel gcc gcc-c++
yum -y groups mark install 'Development Tools'
#创建用户
id nginx &>/dev/null
if [ $? -ne 0 ];then
useradd -s /sbin/nologin nginx
fi
#创建日志存放目录
if [ ! -d $log ];then
mkdir -p /var/log/nginx
chown -R nginx.nginx /var/log/nginx
fi
#下载nginx
cd /usr/src/
wget http://nginx.org/download/$version
#解压
tar xf $version
mv $name nginx
cd nginx/ && ./configure \
--prefix=$install_dir/nginx \
--user=nginx \
--group=nginx \
--with-debug \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--http-log-path=$log/access.log \
--error-log-path=$log/error.log
make && make install
#配置环境变量
echo "export PATH=$install_dir/nginx/sbin:\$PATH" > /etc/profile.d/nginx.sh
source /etc/profile.d/nginx.sh
#创建服务文件
cat > /usr/lib/systemd/system/nginx.service <<EOF
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=$install_dir/nginx/sbin/nginx
ExecReload=$install_dir/nginx/sbin/nginx -s reload
ExecStop=$install_dir/nginx/sbin/nginx -s quit
PrivateTmp= true
[Install]
WantedBy=multi-user.target
EOF
#开机自启
systemctl enable --now nginx