首页 > 系统相关 >SHELL编程开发Nginx一键部署实战脚本

SHELL编程开发Nginx一键部署实战脚本

时间:2024-05-09 10:56:41浏览次数:25  
标签:www SHELL tar nginx -- 一键 Nginx NGX

一、基于SHELL编程开发Nginx一键部署脚本(Make源码方式),编程思路如下

从Nginx官网下载软件包nginx-1.24.0.tar.gz;
通过Tar工具对其解压,tar -xzvf nginx-1.24.0.tar.gz;
cd切换至nginx-1.24.0/源代码目录;
预编译,./configure;
编译,make;
安装,make install;
启动Nginx服务,/usr/local/nginx/sbin/nginx;
查看其进程,ps -ef|grep -aiE nginx;
Firewalld防火墙对外开放80端口。

二、基于SHELL编程开发Nginx一键部署脚本(v1版本)

#!/bin/bash
#2024年5月9日10:39:33
#auto install nginx web.
#by author www.jfedu.net
####################
#提前解决编译时所需的依赖环境、库文件;
yum install -y wget gzip gcc tar make
yum install -y pcre pcre-devel zlib-devel
#下载Nginx软件包;
wget -c http://nginx.org/download/nginx-1.24.0.tar.gz -P /usr/src/
#Cd切换/usr/src/;
cd /usr/src/
ls -l nginx-1.24.0.tar.gz
#通过Tar工具对其解压;
tar -xzvf nginx-1.24.0.tar.gz
#Cd切换至Nginx源代码目录;
cd nginx-1.24.0/
#提前创建www用户和组;
useradd -s /sbin/nologin www -M
#预编译;
./configure --prefix=/usr/local/nginx/ --user=www --group=www --with-http_stub_status_module
#编译;
make -j4
#安装;
make -j4 install
#查看Nginx软件服务是否部署成功;
ls -l /usr/local/nginx/
#启动Nginx服务进程;
/usr/local/nginx/sbin/nginx
#查看Nginx进程状态;
ps -ef|grep -aiE nginx
#Firewalld防火墙对外开放80端口;
firewall-cmd --add-port=80/tcp --permanent
systemctl reload firewalld.service 

三、基于SHELL编程开发Nginx一键部署脚本(v2版本,引入变量)

#!/bin/bash
#2024年5月8日15:03:33
#auto install nginx web.
#by author www.jfedu.net
####################
NGX_VER="1.24.0"
NGX_YUM="yum install -y"
NGX_DIR="/usr/local/nginx"
NGX_SOFT="nginx-${NGX_VER}.tar.gz"
NGX_URL="http://nginx.org/download"
NGX_SRC=$(echo $NGX_SOFT|sed 's/\.tar.*//g')
NGX_ARGS="--user=www --group=www --with-http_stub_status_module"
#提前解决编译时所需的依赖环境、库文件;
$NGX_YUM wget gzip gcc tar make
$NGX_YUM pcre pcre-devel zlib-devel
#下载Nginx软件包;
wget -c $NGX_URL/$NGX_SOFT -P /usr/src/
#Cd切换/usr/src/;
cd /usr/src/
ls -l $NGX_SOFT 
#通过Tar工具对其解压;
tar -xzvf $NGX_SOFT 
#Cd切换至Nginx源代码目录;
cd $NGX_SRC/
#提前创建www用户和组;
useradd -s /sbin/nologin www -M
#预编译;
./configure --prefix=$NGX_DIR/ $NGX_ARGS 
#编译;
make -j4
#安装;
make -j4 install
#查看Nginx软件服务是否部署成功;
ls -l $NGX_DIR/
#启动Nginx服务进程;
$NGX_DIR/sbin/nginx
#查看Nginx进程状态;
ps -ef|grep -aiE nginx
#Firewalld防火墙对外开放80端口;
firewall-cmd --add-port=80/tcp --permanent
systemctl reload firewalld.service 

四、基于SHELL编程开发Nginx一键部署脚本(v3版本,引入变量和if判断)

#!/bin/bash
#2024年4月10日14:55:44
#auto install nginx web.
#by author www.jfedu.net
#####################
NGX_VER="$1"
NGX_YUM="yum install -y"
NGX_DIR="/usr/local/nginx"
NGX_SOFT="nginx-${NGX_VER}.tar.gz"
NGX_URL="http://nginx.org/download"
NGX_SRC=$(echo $NGX_SOFT|sed 's/\.tar.gz//g')
NGX_ARGS="--user=www --group=www --with-http_stub_status_module"
if [ $# -eq 0 ];then
       echo -e "\033[32m--------------\033[0m"
       echo -e "\033[32mUsage:{/bin/sh $0 1.12.2|1.24.0|help}\033[0m"
       exit 1
fi
if [ $1 == "-h" -o $1 == "help" ];then
       echo -e "\033[32m--------------\033[0m"
        echo -e "\033[32mUsage:{/bin/sh $0 1.12.2|1.24.0|help}\033[0m"
        exit 1
fi
#判断Nginx WEB软件是否部署,如果没有部署则部署即可;
if [ ! -f $NGX_DIR/sbin/nginx ];then
       CHECK_NUM=$(rpm -qa|grep -aiwE "gcc|pcre-devel"|wc -l)
       if [ $CHECK_NUM -lt 2 ];then
              #提前解决编译Nginx所需依赖环境、库文件;
              $NGX_YUM wget gzip tar make gcc
              $NGX_YUM pcre pcre-devel zlib-devel
       fi
       #从Nginx官网下载软件包;
       wget -c $NGX_URL/$NGX_SOFT -P /usr/src/
       #Cd切换至/usr/src/;
       cd /usr/src/
       #通过Tar工具对其解压;
       tar -xzvf $NGX_SOFT 
       #Cd切换至Nginx源代码目录;
       cd $NGX_SRC/
       #提前创建www用户和组;
       useradd -s /sbin/nologin www -M
       #预编译;
       ./configure --prefix=$NGX_DIR/ $NGX_ARGS 
       #编译;
       make -j4
       #安装;
       make -j4 install
       #查看Nginx WEB软件是否部署成功;
       ls -l $NGX_DIR/
       #启动Nginx服务进程;
       $NGX_DIR/sbin/nginx
       #查看Nginx进程;
       ps -ef|grep -aiE nginx
       #检测Nginx监听80端口是否启动;
       netstat -tnlp|grep -aiwE 80
       firewall-cmd --list-all |grep -aiwE "ports"|grep -aiE "80" >>/dev/null 2>&1
       if [ $? -ne 0 ];then
              #Firewalld防火墙对外开放80端口;
              firewall-cmd --add-port=80/tcp --permanent
              systemctl reload firewalld.service
       fi
else
       echo "ls -ld $NGX_DIR/"
       ls -l $NGX_DIR
       echo -e "\033[31m--------------\033[0m"     
       echo -e "\033[31mNginx WEB软件服务已经安装,请退出.\033[0m"
       exit 0
fi 

标签:www,SHELL,tar,nginx,--,一键,Nginx,NGX
From: https://www.cnblogs.com/yds941268778/p/18181620

相关文章

  • [转帖]Nginx流量拷贝 - 运维笔记
    https://www.cnblogs.com/kevingrace/p/14001080.html 一、Nginx的ngx_http_mirror_module模块实现流量复制介绍Nginx专门提供了ngx_http_mirror_module模块,用来实现流量拷贝。将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多好处:可以验证功能是否正常,以及服务......
  • Shell编程之条件语句
    目录1.条件测试2.文件测试与整数测试(1)文件测试(2)整数测试3.字符串测试与逻辑测试(1)字符串测试(2)逻辑测试4.if语句(1)if单分支语句(2)if双分支语句(3)if多分支语句5.case分支语句1.条件测试Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0(真true)时表示成功,返回值为非......
  • 麒麟 V10 一键安装 Oracle 11GR2(231017)单机版 2
    https://www.modb.pro/db/1762008192972820480安装准备1、安装好操作系统,建议安装图形化2、配置好网络3、挂载本地ISO镜像源4、上传必须软件安装包(安装基础包,补丁包:33991024、35574075、35685663、6880880)5、上传一键安装脚本:OracleShellInstall✨偷懒可以直接下载本......
  • 麒麟 V10 一键安装 Oracle 11GR2(231017)单机版
    更新记录2024-04-22调整函数顺序,优化部分逻辑目前确定不支持列表RHEL6/OEL6/CENTOS6版本不支持安装19C,21C,官方没有认证RHEL9/OEL9/CENTOS9版本不支持安装11GR2,12CR2,官方没有认证常见问题安装RAC,主节点外的ISO镜像请勿上传到/soft目录下挂载,否则会被脚本......
  • NGINX配置记录
    ####NGINX配置记录server{listen80;server_namewww.222.com;charsetutf-8;#roothtml/222/wap/dist;#location/robots.txt{#301重定向#return301http://www.333.com;if($time_iso8601~"(\d{4})-(\d{2})-(\d{2})"......
  • 一键自动化博客发布工具,用过的人都说好(阿里云篇)
    阿里云有个开发者社区,入驻过的朋友可能想要把自己的博客发布到阿里云社区上。今天我来介绍一下blog-auto-publishing-tools自动发布博客到阿里云的实现原理。阿里云的博客发布界面比较简单,只有标题,正文,摘要,关联试用产品,发布子社区,文章图片这几个选项。一起来看看如何实现吧。......
  • Nginx
    Nginx是一款开源的高性能HTTP服务器和反向代理服务器,用于处理静态内容,维护持久连接,以及提供第七层负载均衡器支持。以下是Nginx的一些主要特性:静态内容服务:Nginx可以处理静态内容,如HTML,图片,CSS,JavaScript等。反向代理:Nginx可以作为代理服务器接收客户端请求,并将请求转发......
  • shell 获取文本特定行数据
    在Shell脚本中获取文件的特定行数据,尤其是获取第N行数据,有多种方法。以下是几种常见且简便的方法:使用sed命令:如果你想获取文件的第N行,可以使用sed命令,其中N是你想获取的行号。sed-n'Np'filename例如,获取第5行:sed-n'5p'filename结合使用head和tail命令:这是一种......
  • Linux系统下安装配置 Nginx
    一、下载下载地址:点击跳转有条件的可以直接下载:wget-chttp://nginx.org/download/nginx-1.26.0.tar.gz二、安装解压安装包tar-zxvfnginx-1.26.0.tar.gz移动位置一般安装在usr/local下mvnginx-1.26.0/usr/local/nginx进入nginx目录执行配置脚本cd/usr/local/ng......
  • 常用Linux开发工具(finalshell,)
    稳定,免费,国产,跨平台官网,http://www.hostbuf.com/,总结使用体验,简约不简单 下载……安装……华北直连本地测试服务器确保ssh_key,由运维同学帮忙配置好。配置finalshell,1,2,3,…… 点击配置记录,或者历史记录,开始coding  华北跳板机远程155确保本机的ssh_key,已经由......