1、脚本文件展示
vim install_nginx.sh
#!/bin/bash
# install nginx
if grep -iq ubuntu /etc/os-release
then
apt update &>/dev/null
apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev -y &>/dev/null
if [ $? -eq 0 ]
then
echo -e "\E[1;32m依赖环境安装成功\E[0m"
else
echo -e "\E[1;31m依赖环境安装失败\E[0m"
exit
fi
elif grep -qi centos /etc/os-release
then
yum install gcc pcre-devel openssl-devel zlib-devel openssl -y &>/dev/null
if [ $? -eq 0 ]
then
echo -e "\E[1;32m依赖环境安装成功\E[0m"
else
echo -e "\E[1;31m依赖环境安装失败\E[0m"
exit
fi
fi
# 下载安装包
[ -d /data/ ] || mkdir /data/
cd /data
wget https:
if [ $? -eq 0 ]
then
echo -e "\E[1;32m下载成功\E[0m"
else
echo -e "\E[1;31m下载失败\E[0m"
exit
fi
tar xf nginx-1.18.0.tar.gz
if [ $? -eq 0 ]
then
echo -e "\E[1;32m解压成功\E[0m"
else
echo -e "\E[1;31m解压失败\E[0m"
exit
fi
cd nginx-1.18.0
#编译安装
./configure --prefix=/apps/nginx &>/dev/null
make -j2 &>/dev/null
make install &>/dev/null
#准备service 文件
cat > /usr/lib/systemd/system/nginx.service << eof
[Unit]
Description=nginx - high performance web server
Documentation=http:
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/logs/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP \$MAINPID
ExecStop=/bin/kill -s TERM \$MAINPID
[Install]
WantedBy=multi-user.target
eof
ln -s /apps/nginx/sbin/nginx /bin/
systemctl daemon-reload
systemctl start nginx
if [ $? -eq 0 ]
then
echo -e "\E[1;32m启动成功\E[0m"
else
echo -e "\E[1;31m启动失败\E[0m"
exit
fi
2、执行展示
[root@localhost opt]# bash install_nginx.sh
依赖环境安装成功
下载成功
解压成功
启动成功
[root@localhost opt]# systemctl status nginx.service
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2025-04-22 15:25:42 CST; 1min 40s ago
Docs: http:
Process: 16212 ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 16214 (nginx)
CGroup: /system.slice/nginx.service
├─16214 nginx: master process /apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
└─16215 nginx: worker process
4月 22 15:25:42 localhost.localdomain systemd[1]: Starting nginx - high performance web server...
4月 22 15:25:42 localhost.localdomain systemd[1]: Started nginx - high performance web server.
[root@localhost opt]#