写了一个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脚本下载地址:
本内容需要登录后才能查看

另yum安装的nginx脚本链接

 

版权声明:
作者:微笑蝈蝈
链接:https://www.weixiaoguo.cn/?p=426
来源:微笑蝈蝈
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>