自動化指令碼安裝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
#安裝本地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