前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本案例-nginx安装脚本

shell脚本案例-nginx安装脚本

作者头像
星哥玩云
发布2022-09-15 16:42:36
5900
发布2022-09-15 16:42:36
举报
文章被收录于专栏:开源部署开源部署

案例需求

通过shell脚本安装nginx

应用场景

web服务器业务初始化

案例思路

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

案例代码

代码语言:javascript
复制
#!/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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 案例需求
  • 应用场景
  • 案例思路
  • 案例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档