1. 程式人生 > >自動化指令碼安裝ngnix專案

自動化指令碼安裝ngnix專案

思路自動化指令碼安裝ngnix專案

1,判斷本地yum 源安裝情況。

2,判斷與安裝ngnix的依賴包 gcc gcc-c++ pcre-devel    openssl-devel

3,判斷 /root/下,是否有/ngnix-make 目錄來存放nginx-1.10.2.tar.gz

 如沒有則需要建立,被下載ngnix安裝原始碼包到該目錄下。

4,正常編譯安裝ngnix 以及相關配置情況。

 

 

指令碼程式碼如下

#! /bin/bash

#author:小偉

#安裝本地yum源

umount /dev/sr0 /media/cdrom &>/dev/null

mount /dev/sr0 /media/cdrom &>/dev/null

 

if [ $? -eq 0 ]; then

   echo "yum已經被掛載,繼續進行下面操作。。。。。。"

else

   echo "請手機先掛載光碟" && exit

fi

 

  yum -y install gcc gcc-c++ &>/dev/null

 

    #安裝ngnix

    #安裝ngnix依賴包pcre-devel openssl-devel

    rpm -q pcre-devel &>/dev/null

    [ $? -eq 0 ]&& echo "pcre-devel依賴包存在,無需安裝" || yum -y install pcre-devel &>/dev/null

 

    rpm -q openssl-devel &>/dev/null

    [ $? -eq 0 ]&& echo "openssl-devel依賴包存在,無需安裝" || yum -y install openssl-devel &>/dev/mull

 

    #刪除系統原有的nginx-1.10.2目錄

    cd /usr/local/

    rm -rf nginx-1.10.2   &>/dev/null

 

    #編譯安裝ngnix

    cd /root

    [ ! -d ngnix-make ] && mkdir ngnix-make && echo "nginx-1.10.2.tar.gz 安裝包不存在,清先下載安裝包" && exit ||  cd /root/ngnix-make

 

    [ ! -f nginx-1.10.2.tar.gz ] && echo "安裝包不存在" && exit || tar xf nginx-1.10.2.tar.gz -C/usr/local

    useradd -s /sbin/nologin -M www  &>/dev/null

   sleep 5

 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

   make && make install

   if [ $? -eq 0 ]; then

  echo "ngnix編譯完成"

   fi

 

    ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

    cd /usr/local/nginx/conf/

    egrep -v "#|^$" nginx.conf.default  > nginx.conf

    /usr/local/nginx/sbin/nginx &>/dev/null

 

    if [ $? -eq 0 ]; then

          echo "ngnix安裝完成。"

    else

          echo "ngnix安裝失敗,即將退出" && exit

fi