工作需要,前段时间写的nginx一键安装脚本,废话不多说,上脚本...

CentOS(32位)(RedHat上安装需要将yum仓库地址更改):

  1. [root@localhost ~]# uname -r  
  2. 2.6.18-308.el5 

将系统安装盘放入光驱内

chmod +x nginx.sh  执行下面的脚本

  1. #!/bin/sh  
  2. # 2013 install scripts  
  3. # Author:lc  
  4.  
  5. #base  
  6. NOW_DIR=$(pwd)  
  7. DOWN_DIR=$NOW_DIR/down  
  8. IN_DIR="/usr/local" 
  9.  
  10. #soft url and down  
  11. NGINX_DU="http://nginx.org/download/nginx-1.2.6.tar.gz" 
  12. PCRE_DU="http://jaist.dl.sourceforge.net/project/pcre/pcre/8.32/pcre-8.32.tar.gz" 
  13.  
  14. #soft version  
  15. NGINX_VERSION="nginx-1.2.6" 
  16. PCRE_VERSION="pcre-8.32" 
  17.  
  18. #yum安装依赖库  
  19. mount /dev/cdrom /mnt  
  20. if [ ! -d /mnt/CentOS ];then 
  21.     exit  
  22. else   
  23. rm -f /etc/yum.repos.d/*  
  24. touch /etc/yum.repos.d/local.repo  
  25. cat > /etc/yum.repos.d/local.repo << EOF  
  26. [base]  
  27. name=base  
  28. baseurl=file:///mnt/  
  29. gpgcheck=0  
  30. enabled=1  
  31. EOF  
  32. yum clean all 
  33. yum -y install gcc gcc-c++ gcc-g77 openssl-devel libtool readline-devel libxml2 libxml2-devel libtool autoconf automake gd libjpeg libjpeg-devel libpng libpng-devel libmcrypt* libtool-ltdl-devel* freetype freetype-devel fiex* zlib zlib-devel glibc glibc-devel glib2 glib2-devel openldap openldap-devel nss_ldap ncurses-devel openldap-clients openldap-servers  
  34. [ $? != 0 ] && err_exit "yum install err" 
  35. fi  
  36.  
  37.     if [ -d $DOWN_DIR ];then 
  38.         cd $DOWN_DIR  
  39.     else 
  40.         mkdir $DOWN_DIR  
  41.         cd $DOWN_DIR  
  42.     fi  
  43.  
  44. #pcre  
  45. function pcre_ins() {  
  46.     echo "installing pcre..." 
  47.     if [ -e $PCRE_VERSION.tar.gz ];then 
  48.         tar zxvf $PCRE_VERSION.tar.gz  
  49.         cd $PCRE_VERSION  
  50.     else 
  51.         wget -c $PCRE_DU  
  52.         tar zxvf $PCRE_VERSION.tar.gz  
  53.         cd $PCRE_VERSION  
  54.     fi    
  55.     ./configure  
  56.     [ $? != 0 ] && err_exit "pcre configure err" 
  57.     make  
  58.     [ $? != 0 ] && err_exit "pcre make err" 
  59.     make install   
  60.     [ $? != 0 ] && err_exit "pcre make install err" 
  61. }     
  62.  
  63. #nginx  
  64. function nginx_ins() {  
  65.     echo "installing nginx..." 
  66.     cd $DOWN_DIR  
  67.     if [ -e $NGINX_VERSION.tar.gz ];then 
  68.         tar zxvf $NGINX_VERSION.tar.gz  
  69.         cd $NGINX_VERSION  
  70.     else 
  71.         wget -c $NGINX_DU  
  72.         tar zxvf $NGINX_VERSION.tar.gz  
  73.         cd $NGINX_VERSION  
  74.     fi    
  75.       
  76.     ./configure --prefix=$IN_DIR/nginx --with-http_stub_status_module --with-http_gzip_static_module  
  77.     [ $? != 0 ] && err_exit "nginx configure err" 
  78.     make  
  79.     [ $? != 0 ] && err_exit "nginx make err" 
  80.     make install   
  81.     [ $? != 0 ] && err_exit "nginx make install err" 
  82.     cd /lib  
  83.     ln -s libpcre.so.0.0.1 libpcre.so.1  
  84.       
  85.     $IN_DIR/nginx/sbin/nginx  
  86.     #kill -QUIT  `cat $IN_DIR/nginx/nginx.pid`  
  87.     #kill -HUP  `cat $IN_DIR/nginx/nginx.pid` 
  88. }  
  89.  
  90. #err_exit  
  91. function err_exit() {  
  92.     echo   
  93.     echo   
  94.     echo "----Install Error: $1 -----------" 
  95.     echo  
  96.     echo  
  97.     exit  
  98. }  
  99.  
  100. pcre_ins  
  101. nginx_ins