【shell脚本速成】nginx安装脚本

在这里插入图片描述

文章目录

    • 案例需求
    • 应用场景
    • 案例思路
    • 案例代码

🌈你好呀!我是 山顶风景独好
🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊
🌸愿您在此停留的每一刻,都沐浴在轻松愉悦的氛围中。
📖这里不仅有丰富的知识和趣味横生的内容等您来探索,更是一个自由交流的平台,期待您留下独特的思考与见解。🌟
🚀让我们一起踏上这段探索与成长的旅程,携手挖掘更多可能,共同进步!💪✨

案例需求

通过shell脚本安装nginx

应用场景

web服务器业务初始化

案例思路

1、软件获得
2、源码安装

案例代码

#!/bin/bash
#Description: nginx install script from zutuanxue(http://www.zutuanxue.com)
#Release: 1.0
#Auther: www.zutuanxue.com
#Email: 
#OS: Centos 8.X

cat <<EOF
#Description: nginx install script from zutuanxue(http://www.zutuanxue.com)
#Release: 1.0
#Auther: www.zutuanxue.com
#Email: 
#OS: Centos 8.X
EOF


#nginx源码包下载路径
nginx_pkg_url=http://nginx.org/download/nginx-1.17.8.tar.gz

#nginx安装路径,安装路径为$nginx_install_doc/nginx
nginx_install_doc=/usr/local

#nginx服务管理用户
nginx_manage_user=www

#统计本机CPU核数
cpu_count=`grep -c "flags" /proc/cpuinfo`

check ()  {

#安装nginx需要管理员权限	
[ $UID -ne 0 ] && echo "need to be root so that" && exit 1

#安装前的依赖包解决
#wget 命令
#gcc  编译命令
#pcre-devel  URL重写功能
#zlib-devel  压缩支持
#make  编译命令

if ! (yum -y install wget gcc pcre-devel zlib-devel make &>/dev/null);then
	echo "yum install soft package fail"
        exit 1
fi	

if ! (egrep "^www" /etc/passwd &>/dev/null);then
	useradd -s /sbin/nologin -r -M www
fi
	
}



nginx_install () {
#1、下载软件包
#if wget $nginx_pkg_url &>/dev/null;then
	#2、解压软件包
	echo $nginx_pkg_url|awk -F "/" '{print $5}'|xargs tar xf
	nginx_source_doc=`echo $nginx_pkg_url|awk -F "/" '{print $5}'|cut -d "." -f 1-3`
	#3、进入软件包
  	if [ ! -d $nginx_source_doc ];then
	  echo "unzip `echo $nginx_pkg_url|awk -F "/" '{print $5}'` fail"
          exit 1
        fi	  
	
	cd $nginx_source_doc

	#4、configure nginx
	./configure --prefix=$nginx_install_doc/nginx --user=$nginx_manage_user --group=$nginx_manage_user 1>/dev/null
	[ $? -ne 0 ]&&echo "nginx configure fail"&&exit 1

	#5、make nginx
	make -j $cpu_count 1>/dev/null
	[ $? -ne 0 ]&&echo "nginx make fail"&&exit 1
	
        #6、install nginx
	make install 1>/dev/null
	[ $? -ne 0 ]&&echo "nginx install fail"&&exit 1||echo "`clear`nginx install success..."

	#7、delete nginx soft package
	cd ..
	rm -rf ${nginx_source_doc}*

#else
#   echo "$nginx_pkg_url download fail"
#   exit 1
#fi   

	
}

#####callable function
check;nginx_install

✨ 这就是今天要分享给大家的全部内容了,我们下期再见!😊
🏠 我在CSDN等你哦!我的主页😍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/743934.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

福州代理记账服务财务专业知识会计助手

福州的代理记服务可探索企业和个体工商户处理财务和会计工作。选择合适的代理记服务不仅可以节省成本&#xff0c;还可以确保财务工作专业、合规。以下是一些关于代理记服务的关键信息和财务信息&#xff0c;供您参考&#xff1a; https://www.9733.cn/news/detail/180.html …

一分钟彻底掌握Java多线程生产者与消费者模型

代码 package com.example.KFC; public class Cooker extends Thread { public void run() { while (true) { synchronized (Desk.lock) { if (Desk.maxCount 0) { break; } else { if (!Desk.flag) { System.out.println("Cooker makes a hamburger"); …

Vue2/3中的this

一、Vue3 Vue3.0中this的替代方法 在vue3中&#xff0c;新的组合式API中没有this&#xff0c;可以通过以下方法替代this setup 在生命周期 beforecreate 和 created 前执行&#xff0c;此时 vue 对象还未创建&#xff0c;所以无法使用 this 方式一 getCurrentInstance() 方…

sd-wan跨境访问|公司海外工厂加速访问ERP系统解决方案

随着全球化的深入发展和国际市场竞争的加剧&#xff0c;越来越多的企业选择在国外建立工厂&#xff0c;以扩大市场份额和优化资源配置。然而&#xff0c;这也带来了一系列新的挑战&#xff0c;其中之一就是国外工厂员工在访问国内ERP系统时面临的超高延迟等问题。这一问题不仅严…

学习C++,这几个练手项目值得推荐

写项目是学习C的一种有效方式&#xff0c;有以下几个原因&#xff1a; 实践应用&#xff1a;通过写项目&#xff0c;你可以将所学的理论知识应用到实际中&#xff0c;加深对C语言和编程概念的理解。这有助于巩固你的知识&#xff0c;并提高你的编码能力。锻炼技能&#xff1a;…

数据结构(Java):顺序表集合类ArrayList

1、线性表 线性表&#xff0c;在逻辑结构上是连续的&#xff08;可理解为连续的一条直线&#xff0c;一对一的关系&#xff09;&#xff0c;而在物理结构上不一定连续&#xff0c;通常以数组和链式结构进行存储。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线…

etcd详解

一、etcd概要 1.etcd的简介 在做微服务集群开发时&#xff0c;有很多应用&#xff0c;有很多微服务上下游节点&#xff0c;它们本身需要很多存储配置文件&#xff0c;需要有一个地方来存储这些配置文件&#xff0c;因此诞生了etcd&#xff0c;它本质是为了微服务上下游服务去…

解决Vue+Vite打包后Leaflet的marker图标不显示的问题

前言 用Leaflet写关于WebGIS的开发&#xff0c;用Vite或者webpack打包&#xff0c;打包后会找不到图标&#xff0c;如下所示。 直言的说&#xff0c;笔者去网上搜了搜&#xff0c;其实收到一个比较好是答案。网址如下。 &#xff08;完美解决~&#xff09;关于VueLeaflet添加…

20240626 每日AI必读资讯

&#x1f30d;警告&#xff01;OpenAI宣布全面封锁中国API接入&#xff01; - 7月9号开始封锁不支持的国家API - 如果在OpenAI不允许的国家使用其 API 将面临封杀 &#x1f517; 警告&#xff01;OpenAI 宣布全面封锁中国 API 接入-CSDN博客 &#x1f3b5;索尼、环球音乐、华…

NTFS和exFAT哪个性能好 U盘格式化NTFS好还是exFAT好 mac不能读取移动硬盘怎么解决

文件系统的选择对存储设备的性能和兼容性有着重要影响。而NTFS和EXFAT作为两种常见的文件系统&#xff0c;它们各有特点&#xff0c;适用于不同的使用场景。我们将深入探讨NTFS和EXFAT的区别&#xff0c;帮助大家选择最适合自己需求的文件系统。 NTFS&#xff1a;稳定与性能的平…

SAP ABAP 之OOALV

文章目录 前言一、案例介绍/笔者需求二、SE24 查看类 a.基本属性 Properties b.接口 Interfaces c.友元 Friends d.属性 Attributes e.方法 Methods f.事件 Events g.局部类型 Types …

[20] Opencv_CUDA应用之 关键点检测器和描述符

Opencv_CUDA应用之 关键点检测器和描述符 本节中会介绍找到局部特征的各种方法&#xff0c;也被称为关键点检测器关键点(key-point)是表征图像的特征点&#xff0c;可用于准确定义对象 1. 加速段测试特征功能检测器 FAST算法用于检测角点作为图像的关键点&#xff0c;通过对…

【zabbix】zabbix 自动发现与自动注册、proxy代理

1、配置zabbix自动发现&#xff0c;要求发现的主机不低于2台 zabbix 自动发现&#xff08;对于 agent2 是被动模式&#xff09; zabbix server 主动的去发现所有的客户端&#xff0c;然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数量多&#xff0c;zabbi…

DIY 智能门禁:用 ESP32 RFID 打造安全便捷的家居体验 (附代码)

一、系统概述 本项目旨在使用 ESP32 微控制器和 RFID 技术构建一个安全可靠的门禁系统。该系统利用 RFID 卡进行身份验证&#xff0c;通过读取卡内存储的唯一 ID&#xff0c;判断用户权限并控制门锁的开关。ESP32 强大的 Wi-Fi 功能还能实现远程监控和管理&#xff0c;方便用户…

【C++进阶学习】第四弹——多态——迈向C++更深处的关键一步

前言&#xff1a; 在前面我们已经学习了C中继承的相关知识&#xff0c;已经体会到C在与C语言的对比中的便捷性&#xff0c;但是有一些问题并没有被解决&#xff0c;比如继承中如何使不同的派生类公用基类的一个函数&#xff0c;这就需要多态的知识&#xff0c;而且&#xff0c;…

项目实训-vue(十二)

项目实训-vue&#xff08;十二&#xff09; 文章目录 项目实训-vue&#xff08;十二&#xff09;1.概述2.处理进度可视化 1.概述 本篇博客将记录我在图片上传页面中的工作。 2.处理进度可视化 除了导航栏之外&#xff0c;我们还需要对上传图片以及图片处理的过程以及流程进行…

今日分享:能源行业数据大屏与界面设计~

能源行业数据大屏设计时要紧扣行业主题&#xff0c;关注视觉效果、实时数据与动态效果、数据可视化和图表、布局与字体、交互性、告警功能、故事叙述、易读性和可维护性等多个方面。大家设计时可以从这几个方面进行检查调整&#xff0c;这样就可以设计出既美观又实用的能源行业…

mulesoft --环境安装与搭建

1.mavenjdkpostman 2.anypoint statdio 下载安装 下载 Anypoint Studio & Mule |骡子软件 (mulesoft.com) 填好基本信息后&#xff0c;会发邮件&#xff0c;在邮件中下载&#xff0c;跳到官网下载 3注册账号 Download Anypoint Studio & Mule | MuleSoft 4.Connect…

昇思25天学习打卡营第2天 | 张量Tensor

张量Tensor 张量&#xff08;Tensor&#xff09;基础 张量是MindSpore中的基本数据结构的一种&#xff0c;类似于NumPy中数组和矩阵非常相似。它具有以下重要属性&#xff1a; 形状&#xff08;shape&#xff09;和数据类型&#xff08;dtype&#xff09;&#xff1a;每个张量…

Windows安装配置jdk和maven

他妈的远程连接不上公司电脑&#xff0c;只能在家重新配置一遍&#xff0c;在此记录一下后端环境全部配置 Windows安装配置JDK 1.8一、下载 JDK 1.8二、配置环境变量三、验证安装 Windows安装配置Maven 3.8.8一、下载安装 Maven并配置环境变量二、设置仓库镜像及本地仓库三、测…