首页 > 系统相关 >SHELL编程开发:如何轻松一键部署Nginx脚本

SHELL编程开发:如何轻松一键部署Nginx脚本

时间:2023-09-20 23:06:23浏览次数:61  
标签:www SHELL nginx -- 一键 Nginx install NGX

SHELL编程开发:如何轻松一键部署Nginx脚本_源码包


实现思路

  1. 下载Nginx源码包
  2. 解压源码包
  3. 进入解压后的目录
  4. 配置编译选项
  5. 编译并安装Nginx
  6. 启动Nginx服务

代码实现

以下是脚本内容及注释:

#!/bin/bash
# 一键部署Nginx脚本

# 下载Nginx源码包
wget http://nginx.org/download/nginx-1.20.1.tar.gz

# 解压源码包
tar -zxvf nginx-1.20.1.tar.gz

# 进入解压后的目录
cd nginx-1.20.1

# 配置编译选项
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

# 编译并安装Nginx
make && make install

# 启动Nginx服务
/usr/local/nginx/sbin/nginx

请将以上脚本保存为一个文件,例如install_nginx.sh,然后在终端中运行以下命令使其可执行:

chmod +x install_nginx.sh

最后,运行脚本以一键部署Nginx:

./install_nginx.sh

一键部署Nginx脚本(v2版本)

  • 变量是具备可变的数值,跟常量(a、b、c、1、2、3等)是相反的,SHELL变量采用=赋值,例如WEB=www.jfedu.net,WEB称为变量名称,而www.jfedu.net称为变量的值,通过$WEB可以调用变量的数值。
  • SHELL编程变量可以使用一个简短的名称代替复杂的数值,可以简化脚本编程,相当于Linux别名机制(alias),还可以方便管理员对脚本后期的调整和优化等。Nginx一键部署脚本引入SHELL变量,代码如下:
#!/bin/bash
#2023年9月20日15:01:51
#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\.gz//g')
NGX_ARGS="--user=www --group=www --with-http_stub_status_module"
#提前解决编译时所需依赖环境、库文件;
$NGX_YUM wget tar make gzip gcc
$NGX_YUM pcre pcre-devel zlib-devel
#从Nginx官网下载软件包;
wget -c $NGX_URL/$NGX_SOFT
#查看Nginx软件包是否下载成功;
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服务进程;
$NGX_DIR/sbin/nginx
#查看Nginx服务进程和端口;
ps -ef|grep nginx
netstat -tnlp|grep -aiwE 80
#Firewalld防火墙对外开放80端口;
firewall-cmd --add-port=80/tcp --permanent
systemctl reload firewalld.service

标签:www,SHELL,nginx,--,一键,Nginx,install,NGX
From: https://blog.51cto.com/u_15801829/7543832

相关文章

  • Nginx第二天学习笔记
    在继续深入Nginx的学习之后,我对这个强大的Web服务器有了更深入的理解。以下是我对第二天学习的总结。一、Nginx的负载均衡Nginx的负载均衡功能是其核心特性之一,它可以轻松处理高并发的请求,使得Web应用能够应付大规模的访问。Nginx通过upstream模块来实现负载均衡,可以配置多个后端服......
  • 《Linux命令行与shell脚本编程大全.第3版》电子书PDF+源代码
    精通Linux命令行与shell脚本编程,尽在本书中本书是关于Linux命令行和shell命令的全面参考资料,涵盖详尽的动手教程和实际应用指南,并提供相关参考信息和背景资料,带你从Linux命令行基础入手,直到写出自己的shell。时隔四年后的这一版本,针对Linux的新特性和实践,进行了全面更新:使用......
  • 一键实现冒泡排序算法,代码质量有保障!
    近年来,深度学习和神经语言模型作为提高开发人员生产力的手段,尤其是2022年11月30日,ChatGPT这一现象级热点得出横空出世,在全球范围内形成了热烈的讨论,其中关于自动化代码生成和其它软件工程方面受到了极大的关注。 软件开发过程涵盖了各种代码生成任务,包括代码自动生成、代码翻......
  • nginx配置文件root 与 alias的区别
    假如服务器路径为:/home/imooc/files/img/face.pngroot路径完全匹配访问配置的时候为:location/imooc{ root/home}用户访问的时候请求为:url:port/imooc/files/img/face.pngalias可以为你的路径做一个别名,对用户透明配置的时候为:location/hello{ root/home/im......
  • 一键实现冒泡排序算法,代码质量有保障!
    近年来,深度学习和神经语言模型作为提高开发人员生产力的手段,尤其是2022年11月30日,ChatGPT这一现象级热点得出横空出世,在全球范围内形成了热烈的讨论,其中关于自动化代码生成和其它软件工程方面受到了极大的关注。软件开发过程涵盖了各种代码生成任务,包括代码自动生成、代码翻译和......
  • Hbase--执行hbase shell命令时提示:ERROR: KeeperErrorCode = NoNode for /hbase/mast
    1、问题描述执行hbase shell命令时提示:ERROR:KeeperErrorCode=NoNodefor/hbase/master2、问题原因这是与因为服务器重启后Hadoop的运行和Hbase的运行异常。3、解决办法依次去停止和启动Hadoop(1)到hadoop的sbin目录下 ./stop-all.sh(2)再./start-all.sh(3)再到hbase的b......
  • Hbase Shell的常用命令
    总结的一些Hbaseshell的命令都很简单,可以help来查看帮助create'user_test','info'describe'user_test'disable'user_testinfo'drop'user_testinfo'put'user_test','test-1','info:username','test1......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......