【原创】linux简单自动安装nginx的shell脚本 – 21运维
通知: .-...

【原创】linux简单自动安装nginx的shell脚本

nginx 21运维 7307浏览 0评论
#!/bin/bash
#install nginx  for  centos
#author:21yunwei
#date:2015.12.16
downloaddir=/usr/local/src
function menu(){
echo "**************************************************"
cat  < < EOF
	Plese choose nginx version you want to install
	1, nginx for 1.10.3
        2, nginx for 1.12.3
	default for 1.10.3
EOF
echo "**************************************************"
}
function  checkroot() {
if [ $UID -ne 0  ] 
then
	 echo "Please login as user root."
	 exit
fi
}
function create_user_nginx(){
gflag=`cat  /etc/group  |awk -F':'  '{print  $1}'  | grep  nginx`
[[ $gflag != "" ]]  && echo "group 'nginx' already exists"  || groupadd nginx
uflag=`cat  /etc/passwd  |awk -F':'  '{print  $1}'  | grep  nginx`
[[ $uflag != ""  ]] && echo "user 'nginx' already exists" ||useradd -r nginx -g nginx -s /sbin/nologin
}
function  install_libs() {
yum -y install gcc gcc-c++  automake autoconf libtool make   >/dev/null && echo 'install gcc automake autoconf libtool make OK' || echo "install gcc automake autoconf libtool make install error"
yum -y install pcre* >/dev/null  && echo  "pcre install OK"  ||  echo  "pcre install  failed ,please check"
yum -y install zlib*  >/dev/null  && echo  "zlib install  ok"  ||  echo  "  zlib install failed ,please check"
yum -y install openssl openssl-devel >/dev/null  && echo  "openssl install ok"  ||  echo  " openssl install  failed ,please check"
[ $? -eq 0 ]  && echo "libs install  ok,go next step." || echo "libs install failed ,please check"
}
function select_nginx() {
read -p "Plese choose nginx version you want to install:" ver
}
function download_install_nginx {
#read -p "Plese choose nginx version you want to install:" ver && 
cd  $downloaddir 
case $ver  in 
"1") echo "downloading  nginx 1.10.3 " && wget  -c  http://nginx.org/download/nginx-1.10.3.tar.gz 
;;
"2") echo "downloading  nginx 1.12.0 " && wget  -c  http://nginx.org/download/nginx-1.12.0.tar.gz 
;;
*) echo "downloading  nginx 1.10.3 " && wget  -c  http://nginx.org/download/nginx-1.10.3.tar.gz 
;;
esac
cpunum=`cat /proc/cpuinfo |grep -c processor`
echo "Nginx is installing by shell,please wait:"
case $ver  in
1)tar zxf nginx-1.10.3.tar.gz  &&cd ${downloaddir}/nginx-1.10.3  &&./configure  --prefix=/usr/local/nginx  --user=nginx  --group=nginx --with-http_ssl_module --with-http_stub_status_module >/dev/null && make -j$cpunum >/dev/null && make install >/dev/null
   [ $? -eq 0 ]  && echo "nginx  install  compleate,go next step." || echo "nginx install failed ,please check" 
 ;;
2)tar zxf nginx-1.12.0.tar.gz  && cd ${downloaddir}/nginx-1.12.0 && ./configure  --prefix=/usr/local/nginx  --user=nginx  --group=nginx --with-http_ssl_module --with-http_stub_status_module >/dev/null && make -j$cpunum>/dev/null && make install >/dev/null 
   [ $? -eq 0 ]  && echo "nginx  install  compleate,go next step." || echo "nginx  install failed ,please check" 
 ;;
*)tar zxf nginx-1.10.3.tar.gz  && cd ${downloaddir}/nginx-1.10.3 && ./configure  --prefix=/usr/local/nginx  --user=nginx  --group=nginx --with-http_ssl_module --with-http_stub_status_module >/dev/null && make -j$cpunum>/dev/null && make install >/dev/null 
   [ $? -eq 0 ]  && echo "nginx  install  compleate,go next step." || echo "nginx  install failed ,please check" 
 ;;
 esac
}
function service_nginx() {
echo "nginx service  is downloading by shell,please wait:"
wget -O /etc/init.d/nginx -c https://download.21yunwei.com/service/nginx-init && chmod +x /etc/init.d/nginx && chkconfig  nginx on && /etc/init.d/nginx start
netstat -tunlp | grep 80
[ $? -eq 0 ]  && echo "nginx  install  OK" || echo "nginx install failed,please check"
}
function main(){
menu
checkroot
select_nginx
create_user_nginx
install_libs
download_install_nginx
service_nginx
}
main

该脚本是练手自己写着玩的,很多地方需要调整,但安装没啥问题,仅供参考。手工安装请参考linux下如何安装nginx环境配置

转载请注明:21运维 » 【原创】linux简单自动安装nginx的shell脚本

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 说明:shell写入自己的sh中会有报错,原因是博客采用的编辑器会对里边的一些符号没有保留原格式。请根据报错自行修改即可。
    21运维2017-05-25 13:27 回复