Shell脚本一键安装Nginx服务自定义Nginx版本


Posted in Servers onMarch 20, 2022

经常安装Nginx服务,有时候要安装的版本不同就很烦,然后写了一个可以自定义Nginx版本的脚本(嗯,在朋友的帮助下,哈哈)。

话不多少,内容如下:

#!/bin/bash
#Nginx版本
ver=nginx-1.$2.$3
# 安装目录
in_dir="/app/$ver"
#软件存放目录
dl_dir="/server"
#最终运行目录
run_dir=/app/nginx
if [ ! -d $in_dir ];then
    mkdir -p $in_dir
fi
if [ ! -d $dl_dir ];then
    mkdir $dl_dir
fi
##安装nginx
function nginx_install (){
yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel 
if [ $? -eq 0 ]
then
    curl  "http://nginx.org/download/$ver.tar.gz" -o $dl_dir/$ver.tar.gz && \ 
    useradd -M -s /sbinlogin nginx  && \
    tar xf $dl_dir/$ver.tar.gz -C $dl_dir  && \
    cd $dl_dir/$ver
    ./configure  --prefix=$in_dir --user=nginx --group=nginx  && \ 
    make  && make install 
fi
}
function nginx_init (){
  ln -s $in_dir $run_dir
}
function nginx_start (){
  ps -ef |grep nginx |grep master
  if [ $? = 0  ];then
        echo "Nginx is Running."
  else
        if [ ! -e $run_dir/sbin/nginx ];then
        nginx_init
        fi
	$run_dir/sbin/nginx
        sleep 5
        ps -ef |grep nginx |grep master
        if [ $? = 0  ];then
        echo "Nginx Start successfully."
        else
        echo "Nginx Failed to Start."
	fi
  fi
}
function nginx_stop (){
	$run_dir/sbin/nginx -s quit	
        sleep 5
        ps -ef |grep nginx |grep master
        if [ $? != 0  ];then
	    echo "Nginx Stop successfully."
        else
            echo "Nginx Failed to Stop."
	fi
}
function nginx_reload (){
	$run_dir/sbin/nginx -s reload 
}
main(){
  nginx_install
  nginx_start
}
case $1 in 
install)
	nginx_install
	nginx_init
	nginx_start
	;;
start)
	nginx_start
	;;
stop)
	nginx_stop
	;;
restart)
	nginx_stop
	nginx_start
	;;
reload)
	nginx_reload
	;;
*)
	echo "使用方法"
	echo "$0 start|stop|restart|reload"	
	echo "安装方法"
	echo "$0 install <版本号> <小版本号>  例如:$0 install 19 3 下载的就是1.19.3版本 "
	;;
esac
#if [ $# = 0 ];then
#	echo  "使用 $0 后面加上小版本号进行部署:例如 $0 19 3 下载的就是1.19.3版本"
#else
#	echo "下载版本:1.$2.$3"
#	echo "安装目录:$in_dir"
#	echo "下载目录:$dl_dir"
#	echo "Nginx installation..." 
#        nginx_install
#        if [ $? != 0 ];then
##	echo "Ngins installation Failed."
#	else 
#        nginx_init
#        nginx_start
#        fi	
#fi

这个脚本可以实现用户自己选择想要安装的Nginx版本

比如我想装一个nginx-1.16.1版本,可以这样做:

sh install_nginx.sh install 16 1

当然,如果你开始并不知道使用方法,直接执行了脚本,没关系,有提示:

[root@localhost ~]# sh install_nginx.sh
使用方法
install_nginx.sh start|stop|restart|reload
安装方法
install_nginx.sh install <版本号> <小版本号>  例如:install_nginx.sh install 19 3 下载的就是1.19.3版本

瞧,不光告诉了你怎么使用它安装服务,还可以直接运行脚本进行管理当你刚安装完成的时候默认是启动的,你可以使用脚本进行关闭或重启:

[root@localhost ~]# sh install_nginx.sh stop
Nginx Stop successfully.
[root@localhost ~]# sh install_nginx.sh reload

然后你可以修改配置后进行开启:

[root@localhost ~]# sh install_nginx.sh start
root       4236      1  0 14:23 ?        00:00:00 nginx: master process /app/nginx/sbin/nginx
Nginx Start successfully.

查看它的状态,看它是否在运行:

[root@localhost ~]# ss -utpln | grep nginx
tcp    LISTEN     0      128       *:80                    *:*                   users:(("nginx",pid=4238,fd=6),("nginx",pid=4236,fd=6))

我们用浏览器来访问一下吧!

Shell脚本一键安装Nginx服务自定义Nginx版本

可以看到Nginx的欢迎页面,说明我们成功了!

以上就是Shell脚本一键安装Nginx服务自定义Nginx版本的详细内容,更多关于Shell脚本安装Nginx服务自定义Nginx的资料请关注三水点靠木其它相关文章!

Servers 相关文章推荐
nginx如何将http访问的网站改成https访问
Mar 31 Servers
nginx限制并发连接请求数的方法
Apr 01 Servers
制作能在nginx和IIS中使用的ssl证书
Jun 21 Servers
nginx作grpc的反向代理踩坑总结
Jul 07 Servers
Linux安装apache服务器的配置过程
Nov 27 Servers
Nginx工作模式及代理配置的使用细节
Mar 21 Servers
Nginx反向代理、重定向
Apr 13 Servers
Window server 2012 R2 AD域的组策略相关设置
Apr 28 Servers
zabbix配置nginx监控的实现
May 25 Servers
详解Nginx的超时keeplive_timeout配置步骤
May 25 Servers
V Rising 服务器搭建图文教程
Jun 16 Servers
Linux在两个服务器直接传文件的操作方法
Aug 05 Servers
Nginx实现会话保持的两种方式
Mar 18 #Servers
Nginx实现负载均衡的项目实践
Mar 18 #Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 #Servers
nginx刷新页面出现404解决方案(亲测有效)
Mar 18 #Servers
Nginx+Windows搭建域名访问环境的操作方法
Mar 17 #Servers
nginx中封禁ip和允许内网ip访问的实现示例
Mar 17 #Servers
Apache Linkis 中间件架构及快速安装步骤
You might like
php写入文件不覆盖的实例讲解
2019/09/17 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
JavaScript 常用函数
2009/12/30 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
2011/12/12 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
[08:40]Navi Vs Newbee
2018/06/07 DOTA
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
Django后台admin的使用详解
2019/07/08 Python
python SVM 线性分类模型的实现
2019/07/19 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
毕业实习评语
2014/02/10 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
普通党员个人整改措施
2014/10/27 职场文书
先进员工事迹材料
2014/12/20 职场文书
地陪导游欢迎词
2015/01/26 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python