写了一个Nginx编译安装脚本
最近写了两个一键安装nginx的脚本,编译与yum各写了一个,没有那些大拿那么高级高深,自傲自大者我这个不适合你,我只是根据自己基础写简简单单的脚本,希望对未来工作与自己的服务器迁移能有帮助,欢迎测试。
1、下面是写的安装编译安装nginx的脚本。加入了用户自主选择安装nginx的位置,SElinux与防火墙,安装包,添加epel,启动nginx选项,最后告诉用户怎么启动的路径。。
#!/bin/bash
#
#********************************************************************
#Author: weixiaoguoguo
#QQ: XXXXXXXXX
#Date: 2023-03-19
#FileName: bnginx.sh
#URL: https://weixiaoguo.cn
#Description: The test script
#Copyright (C): 2023 All rights reserved
#********************************************************************
while true
do
echo "这是个一键编译安装Nginx的脚本,测试中请不要放生产搞!我们需要一步一步来"
echo "1.查看网络是否正常"
echo "2.查看防火墙是否关闭"
echo "3.查看SElinux是不是关闭"
echo "4.查看系统是否之前安装过Nginx"
echo "5.安装epel为安装常用包做准备"
echo "6.安装编译Nginx程序"
echo "7.启动nginx程序"
echo "8.重新加载Nginx程序"
echo "9.关闭Nginx程序"
echo "10.如果是2查出来了,说明Nginx是yum安装的,使用此命令可以卸载程序"
echo "11.退出程序"
read -p "请按照数字选择:" x
case $x in
1)
echo -e "\e[1;32m查看网是不是通的,要耐心等会:\e[0m"
ping -c 1 www.baidu.com > /dev/null 2>&1 ; sleep 3
if [ $? -eq 0 ]; then
echo -e "\e[1;32mOK网是通的\e[0m"
else
echo -e "\e[1;32mwokao 网没通,卡拉米啊,先找原因吧\e[0m"
fi
;;
2)result=`systemctl status firewalld | grep 'active' |tr -s ' '|cut -d ' ' -f3`
if [ "$result" = "inactive" ]; then
echo -e "\e[1;32mOK防火墙已经关闭了,很好\e[0m"
else
echo -e "\e[1;32mwokao 防火墙开启了,卡拉米啊,先找关闭吧\e[0m"
fi
;;
3)
FIREWSE=`getenforce`
if [ $FIREWSE = Disabled ] ; then
echo -e "SELinux is:\e[1;32mDisabled没问题\e[0m"
else
echo -e "SELinux is:\e[1;32menforcing有问题需要改Disabled\e[0m"
fi
;;
4)
rpm -qi nginx > /dev/null 2>&1
if [ $? -eq 1 ]; then
echo -e "\e[1;32m没问题,你系统之前没有按装过Nginx\e[0m"
else
echo -e "\e[1;32m你的系统之前安装过Nginx了你往下看\e[0m"
rpm -qi nginx
fi
;;
5)
echo "安装epel中.."
yum install epel-release -y > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo -e "\e[1;32mOK安装成功了\e[0m"
else
echo -e "\e[1;32mwokao 安装失败了,卡拉米啊\e[0m"
fi
;;
6)
read -p "选择你要下载nginx的位置:" seat
read -p "选择你要安装nginx的位置(可以没有,安装中会创建这个文件夹):" xinstall
echo -e "\e[1;32m下载nginx中。。。\e[0m"
wget -P $seat http://nginx.org/download/nginx-1.22.1.tar.gz
echo -e "\e[1;32m安装必要的包\e[0m" ; sleep 3
yum install gcc openssh-server lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute iotop unzip zip pcre-devel penssl openssl-devel -y > /dev/null 2>&1
echo -e "\e[1;32m进入下载nginx目录\e[0m" ; sleep 3
cd $seat
echo -e "\e[1;32m解压这个nginx\e[0m" ; sleep 3
tar -zxf nginx-1.22.1.tar.gz
echo -e "\e[1;32m进入这个目录准备编译安装\e[0m" ; sleep 3
cd nginx-1.22.1 ; ./configure --prefix=$xinstall \
--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 > /dev/null 2>&1
echo -e "\e[1;32mmake\e[0m" ; sleep 3
make > /dev/null 2>&1
echo -e "\e[1;32mmake install\e[0m" ; sleep 3
make install > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo -e "\e[1;32mOK安装成功了\e[0m"
else
echo -e "\e[1;32mwokao 安装失败了,卡拉米啊\e[0m"
fi
;;
7)
echo "启动nginx中。。" ; sleep 3
cd $xinstall/sbin/ ; ./nginx
if [ $? -eq 0 ]; then
echo -e "\e[1;32mOK你的nginx已经启动了ip为您的主机地址\e[0m"
else
echo -e "\e[1;32m您的nginx启动失败了卡拉米啊\e[0m"
fi
;;
8)
echo "重新加载Nginx中.." ; sleep 3
cd $xinstall/sbin/ ; ./nginx -s reload
if [ $? -eq 0 ]; then
echo -e "\e[1;32mOK重新加载成功\e[0m"
else
echo -e "\e[1;32mwokao重启失败了,卡拉米啊\e[0m"
fi
;;
9)
echo "关闭Nginx中.." ; sleep 3
cd $xinstall/sbin/ ; ./nginx -s stop
if [ $? -eq 0 ]; then
echo -e "\e[1;32mOK关闭成功了\e[0m"
else
echo -e "\e[1;32mwokao关闭失败,卡拉米啊\e[0m"
fi
;;
10)
echo "如果你查看到系统有yum安装的nginx,请使用这个选项卸载"
yum remove nginx -y > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo -e "\e[1;32mOK卸载成功了\e[0m"
else
echo -e "\e[1;32mwokao卸载失败了,卡拉米啊\e[0m"
fi
;;
11)
if [ "$xinstall" ]; then
echo "程序退出,您之前安装与下载的目录变量也会被内存消掉,未来nginx使用如下:"
echo "您的nginx安装文件在${xinstall}这个文件夹"
echo "您的启动nginx方法是$xinstall/sbin/nginx"
echo "您的重新加载nginx方法是$xinstall/sbin/nginx -s reload"
echo "您的停止nginx方法是$xinstall/sbin/nginx -s stop"
else
echo "程序退出"
fi
break
;;
esac
done
echo "#######################################"
使用截图如下
标题
编译安装nginx脚本下载地址:
本内容需要登录后才能查看
共有 1 条评论