广告
返回顶部
首页 > 资讯 > 服务器 >shell脚本实战之部署nginx脚本实例
  • 355
分享到

shell脚本实战之部署nginx脚本实例

nginx shellnginx项目部署nginx 脚本 2022-12-30 15:12:29 355人浏览 八月长安
摘要

目录前言一键部署Nginx WEB平台(v1)版本一键部署Nginx WEB平台(v2)版本一键部署Nginx WEB平台(v4)版本: 增加IF语句使用信息总结前言 我们写脚本一定

前言

我们写脚本一定要从最简单的脚本开始,循序渐进,不要一上来就想着用for循环,用函数,而应该在写的过程中,突然发现这里可以改为函数,那里可以加个循环。

一键部署Nginx WEB平台(v1)版本

最简单的版本一定是一堆命令的组合,在执行的过程中发现哪里有问题再去优化

yum install -y wget gzip tar make GCc
## 安装依赖包
yum install -y pcre pcre-devel zlib-devel
## 下载需要的安装包
wget -c Http://nginx.org/download/nginx-1.21.6.tar.gz -P /usr/src/
cd /usr/src/
ls -l nginx-1.21.6.tar.gz
tar -xzvf nginx-1.21.6.tar.gz
## 解压
cd nginx-1.21.6/
useradd -s /sbin/nologin www -M
##开始编译
./configure --prefix=/usr/local/nginx/ --user=www --group=www --with-http_stub_status_module
make
make install
ls -l /usr/local/nginx/
/usr/local/nginx/sbin/nginx
ps -ef|grep nginx
netstat -tNLP|grep 80
启动
setenforce 0
systemctl stop firewalld.service

你在执行这个脚本的时候会发现几个问题,然后再去优化,比如:

  • 下载包的时候会不会出现网络问题
  • 安装依赖包会不会出现安装失败的问题
  • 编译的时候会不会出现编译失败的问题
  • 测试是否成功的时候,是否可以加个条件,如果成功了就提示。
  • 有些地址比较长,让命令显得特别,可不可以用常量代替

然后再根据你发现的问题去优化

一键部署Nginx WEB平台(v2)版本

加载常量
···

## 把需要的常量提前写好
NGX_VER="1.21.6"
NGX_YUM="yum install -y"
NGX_SRC="nginx-$NGX_VER"
NGX_DIR="/usr/local/nginx"
NGX_SOFT="nginx-$NGX_VER.tar.gz"
NGX_URL="http://nginx.org/download"
NGX_ARGS="--user=www --group=www --with-http_stub_status_module"
$NGX_YUM wget gzip tar make gcc
$NGX_YUM pcre pcre-devel zlib-devel
## 下载或者用到常量的时候直接调用
wget -c $NGX_URL/$NGX_SOFT -P /usr/src/
cd /usr/src/
ls -l $NGX_SOFT
tar -xzvf $NGX_SOFT
cd $NGX_SRC/
useradd -s /sbin/nologin www -M
## 开始编译,不用写的特别长,直接用常量地址
./configure --prefix=$NGX_DIR/ $NGX_ARGS
make
make install
ls -l $NGX_DIR/
$NGX_DIR/sbin/nginx
ps -ef|grep nginx
netstat -tnlp|grep 80
setenforce 0
systemctl stop firewalld.service

这样看来是不是更简单了些,而且即使用到不同的地址多次,我们也可以只写个变量,缩短代码量

但这样我们还是会发现有问题:

  • 有的命令是否执行成功,无法明确的判断
  • 有的路径如果没有,是不是可以自己创建

所以我们再次修改:

一键部署Nginx WEB平台(v4)版本: 增加IF语句使用信息

## 定义常量
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_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.23.0|help}\033[0m"
        exit
fi
if [ $1 == "help" -o $1 == "-h" ];then
        echo -e "\033[32m-------------------\033[0m"
        echo -e "\033[32mUsage:{/bin/sh $0 1.12.2|1.23.0|help}\033[0m"
        exit
fi
## 判断某些目录是否存在
if [ ! -f $NGX_DIR/sbin/nginx ];then
        $NGX_YUM wget gzip tar make gcc
        $NGX_YUM pcre pcre-devel zlib-devel
        ## 下载包,其实这里我们也可以判断是否下载成功
        wget -c $NGX_URL/$NGX_SOFT -P /usr/src/
        cd /usr/src/
        ls -l $NGX_SOFT 
        tar -xzvf $NGX_SOFT 
        cd nginx-$NGX_VER/
        ## 这些路径我们都需要判断是否存在
        useradd -s /sbin/nologin www -M
        ## 开始编译
        ./configure --prefix=$NGX_DIR/ $NGX_ARGS 
        make
        make install
        ## 编译成功是否可以提示
        ls -l $NGX_DIR/
        $NGX_DIR/sbin/nginx
        ps -ef|grep nginx
        netstat -tnlp|grep 80
        setenforce 0
        systemctl stop firewalld.service

总结

你会发现我们从最开始的版本一路写到这,其实还可以继续优化,任何脚本都循环演化原则,在一个版本的基础上,不断的优化和改造。

到此这篇关于shell脚本实战之部署nginx脚本实例的文章就介绍到这了,更多相关shell部署nginx脚本内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: shell脚本实战之部署nginx脚本实例

本文链接: https://www.lsjlt.com/news/176344.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell脚本实战之部署nginx脚本实例
    目录前言一键部署Nginx WEB平台(v1)版本一键部署Nginx WEB平台(v2)版本一键部署Nginx WEB平台(v4)版本: 增加IF语句使用信息总结前言 我们写脚本一定...
    99+
    2022-12-30
    nginx shell nginx项目部署 nginx 脚本
  • Shell脚本实战之DNS主从同步脚本实例
    DNS主从同步脚本实例 PS:两个服务器起好后最好两个服务都重启一下 主服务器配置 #!/bin/bash #DNS主从同步——主服务器 rpm -q bind if [ $? -ne 0 ];the...
    99+
    2022-06-04
    Shell DNS主从同步
  • shell脚本多实例部署nginx的详细教程
    1. 创建一个目录,用来存放脚本和安装包 [root@localhost nginx]# tree . ├── install.sh └── packages └── nginx-1.20.1.tar.gz ...
    99+
    2022-06-04
    shell脚本部署nginx shell部署nginx
  • SpringBootJar包部署脚本的实例讲解
    当使用 Spring Boot 进行开发时,它可以将项目打包成 Jar 包进行部署,但是我们的部署环境一般都是 Linux,每次手写脚本很烦人,所以我提供了一个简单的脚本,用于部署 ...
    99+
    2022-11-12
  • shell脚本实战-while循环语句
    前言 上文我们讨论了for循环的使用,在有限循环里,我们使用for循环是很方便的一件事情,今天我们来探讨下while循环 while循环语句的语法分析 语法格式一: while [条件] do 操作 done ...
    99+
    2022-06-04
    shell -while循环 shell -while
  • Spring Boot Jar 包部署脚本的实例分析
    这篇文章给大家介绍Spring Boot Jar 包部署脚本的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当使用 Spring Boot 进行开发时,它可以将项目打包成 Jar ...
    99+
    2023-06-22
  • shell脚本换行问题实战记录
    目录1-脚本代码太长需要换行2-echo输出给用户看的命令太长需要换行3-read -p提取用户输入的时候提示太长需要换行参考文档:总结在shell编程中遇到一些需要换行的情 1-脚本代码太长需要换行 这个情况是指我们某...
    99+
    2023-02-18
    shell脚本中换行 shell脚本换行命令 shell程序输出换行
  • 备份shell脚本实例代码
    1、backup_run.sh #!/bin/sh # backup_run # script to run the backups # loads in a setting fi...
    99+
    2022-06-04
    脚本 备份 实例
  • PHP Linux脚本操作实例:实现自动化部署
    近年来,随着软件行业的快速发展,部署工作在开发流程中变得愈发重要。为了提高效率,许多开发团队都开始采用自动化部署来简化繁琐的部署过程。在这其中,PHP语言在Linux环境下的脚本操作成为了一种常见的实现方式。本文将介绍如何使用PHP脚本在L...
    99+
    2023-10-21
    Linux PHP 自动化部署
  • 几例shell实用脚本(珍藏版)
    1 特殊文件名的远程拷贝 服务器之间拷贝文件经常使用scp命令,其命令格式: (1)scp filename [user@]host:dir (2)scp [user@]host:dir1/filenamedir2 格式...
    99+
    2022-06-04
    shell实用脚本 shell脚本
  • 109 个实用 shell 脚本
    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执...
    99+
    2023-09-08
    linux 服务器 java
  • Shell脚本之Expect免交互的实现
    Expext概述 Expect是建立在tcl基础上的一个工具,Expect是用来自动化控制和测试的工具。主要解决shell脚本中不可交互的问题。有助于大规模的系统运维工作。在日常的运维与开发中,常常需要运城登录到服务器...
    99+
    2022-06-04
    Shell脚本 Expect免交互 Shell Expect免交互
  • 怎么用shell脚本一键部署LNMP架构
    本篇内容介绍了“怎么用shell脚本一键部署LNMP架构”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!LNMP架构介绍LNMP:Linux系...
    99+
    2023-06-09
  • 怎么使用Shell脚本自动部署项目
    这篇文章主要介绍了怎么使用Shell脚本自动部署项目的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Shell脚本自动部署项目文章都会有所收获,下面我们一起来看看吧。①:在Linux中安装Gityum&n...
    99+
    2023-07-05
  • 非常实用的23个Shell脚本实例
    shell脚本是帮助程序员和系统管理员完成费时费力的枯燥工作的利器,是与计算机交互并管理文件和系统操作的有效方式。区区几行代码,就可以让计算机接近按照你的意图行事。 为大家整理了23个实例,通过23个实战经典脚本实例,...
    99+
    2022-06-04
    Shell脚本实例 Shell实用脚本
  • centos/rhel下实现nginx自启动脚本实例
    通常在centos、rhel的OS下,我们大多是通过chkconfig来管理服务,比如开机自动启动服务之类。 这里给大家介绍一个很好用的nginx启动脚本。以及简单的使用,如下: 1. 执行如下命令: ...
    99+
    2022-06-04
    脚本 实例 centos
  • 实现shell脚本nicenumber的示例分析
    这篇文章给大家分享的是有关实现shell脚本nicenumber的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Given a number, shows it in comma-separated fo...
    99+
    2023-06-09
  • java脚本引擎Groovy实战
    前言 互联网时代随着业务的飞速发展,不仅产品迭代、更新的速度越来越快,个性化需求也是越来越多。如何快速的满足各种业务的个性化需求是我们要重点思考的问题。我们开发的系统如何才能做到热部署,不重启服务就能适应各种规则变化呢?实现业务和规...
    99+
    2023-09-16
    java 开发语言 微服务
  • Shell脚本实现生成SSL自签署证书
    启用 apache 的 mod_ssl 之后需要有证书才能正常运作。写了个脚本来操作。首先要确定机器上已经有 openssl 。 #!/bin/sh # # ssl 证书输出的根目录。 sslOutp...
    99+
    2022-06-04
    脚本 证书 Shell
  • Shell脚本中如何实现DNS主从同步脚本
    这篇文章给大家分享的是有关Shell脚本中如何实现DNS主从同步脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DNS主从同步脚本实例PS:两个服务器起好后最好两个服务都重启一下主服务器配置#!/bin/bas...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作