nginx 项目模块整理shell

#!/bin/bash
#path
mkdir -p /download
DOWNLOAD_PATH=download
#nginx Depend on class libraries
LIBUNWIND_PATH=/usr/local/libunwind
PERFTOOLS_PATH=/usr/local/perftools
PCRE_PATH=/$DOWNLOAD_PATH/pcre-8.31
ZLIB_PATH=/$DOWNLOAD_PATH/zlib
LUAJIT_PATH=/usr/local/bin/luajit
#nginx module
NGX_CACHE_PURGE=/$DOWNLOAD_PATH/ngx_cache_purge
NGX_HTTP_CONSISTENT_HASH=/$DOWNLOAD_PATH/ngx_http_consistent_hash
NGINX_HTTP_SYSGUARD=/$DOWNLOAD_PATH/nginx-http-sysguard
NGX_DEVEL_KIT=/$DOWNLOAD_PATH/ngx_devel_kit
LUA_NGINX_MODULE=/$DOWNLOAD_PATH/lua-nginx-module
NGX_MONGO=/$DOWNLOAD_PATH/ngx_mongo
#nginx
NGINX_PATH=/$DOWNLOAD_PATH/nginx-1.3.4
#install libunwind
if [ -d "$LIBUNWIND_PATH" ]; then
    echo "libunwind is OK!"
else
    cd  /$DOWNLOAD_PATH
    wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99.tar.gz
    tar zxvf libunwind-0.99.tar.gz
    cd libunwind-0.99/
    CFLAGS=-fPIC ./configure --prefix=/usr/local/libunwind
    make CFLAGS=-fPIC
    make CFLAGS=-fPIC install
    echo '/usr/local/libunwind/lib/' >> /etc/ld.so.conf
    ldconfig
fi
#install google-perftools
if [ -d "$PERFTOOLS_PATH" ]; then
    echo "perftools is OK!"
else
    cd  /$DOWNLOAD_PATH
    wget http://google-perftools.googlecode.com/files/google-perftools-1.7.tar.gz
    tar -xzvf google-perftools-1.7.tar.gz
    cd google-perftools-1.7
    ./configure --prefix=/usr/local/perftools --enable-frame-pointers
    make && make install
    echo '/usr/local/perftools/lib/' >> /etc/ld.so.conf
    ldconfig
    cp -r /usr/local/perftools/lib/* /usr/local/lib
    mkdir /tmp/tcmalloc
    chmod 0777 /tmp/tcmalloc
fi
#install pcre
if [ -d "$PCRE_PATH" ]; then
    echo "pcre is OK!"
else
    cd  /$DOWNLOAD_PATH
    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz
    tar -zxvf pcre-8.31.tar.gz
    cd pcre-8.31
    ./configure --prefix=/usr/local/pcre
    make && make install
fi 
#install zlib
if [ -d "$ZLIB_PATH" ]; then
    echo "zlib is OK!"
else
    cd  /$DOWNLOAD_PATH
    git clone git://github.com/madler/zlib.git
    cd zlib
    ./configure --prefix=/usr/local/zlib
    make && make install
fi
#install luajit
if [ -f "$LUAJIT_PATH" ]; then
    echo "luajit is OK!"
else
    wget http://luajit.org/download/LuaJIT-2.0.0.tar.gz
    tar -zxvf LuaJIT-2.0.0.tar.gz
    cd LuaJIT-2.0.0
    make && make install
    echo '/usr/local/lib' >> /etc/ld.so.conf
    ldconfig
fi 
      
#install ngx_cache_purge module
if [ -d "$NGX_CACHE_PURGE" ]; then
    echo "ngx_cache_purge is OK!"
else
    cd  /$DOWNLOAD_PATH
    git clone git://github.com/FRiCKLE/ngx_cache_purge.git
fi
#install ngx_http_consistent_hash module
if [ -d "$NGX_HTTP_CONSISTENT_HASH" ]; then
    echo "ngx_http_consistent_hash is OK!"
else
    cd  /$DOWNLOAD_PATH
    git clone git://github.com/replay/ngx_http_consistent_hash.git
fi
      
#install nginx-http-sysguard module
if [ -d "$NGINX_HTTP_SYSGUARD" ]; then
    echo "nginx-http-sysguard is OK!"
else
    cd  /$DOWNLOAD_PATH
    git clone git://github.com/alibaba/nginx-http-sysguard.git
fi 
#install ngx_devel_kit
if [ -d "$NGX_DEVEL_KIT" ]; then
    echo "ngx_devel_kit is OK!"
else
    cd  /$DOWNLOAD_PATH
    git clone git://github.com/simpl/ngx_devel_kit.git
fi
      
#install lua-nginx-module
if [ -d "$LUA_NGINX_MODULE" ]; then
    echo "lua-nginx-module is OK!"
else
    cd  /$DOWNLOAD_PATH
    git clone git://github.com/chaoslawful/lua-nginx-module.git
fi
      
#install ngx_mongo
if [ -d "$NGX_MONGO" ]; then
    echo "ngx_mongo download is OK!"
else
    cd  /$DOWNLOAD_PATH
    git clone git://github.com/simpl/ngx_mongo.git
fi
      
#install nginx
cd  /$DOWNLOAD_PATH
if [ -d "$NGINX_PATH" ]; then
    echo "nginx-1.3.4 download is OK!"
else
    wget http://nginx.org/download/nginx-1.3.4.tar.gz
    tar -zxvf nginx-1.3.4.tar.gz
fi 
cd nginx-1.3.4
chmod 777 configure
patch -p1 < ../nginx-http-sysguard/nginx_sysguard_1.2.5.patch
./configure --prefix=/usr/local/nginx \
--with-pcre=/$DOWNLOAD_PATH/pcre-8.31 \
--with-zlib=/$DOWNLOAD_PATH/zlib \
--with-http_realip_module \
--with-http_stub_status_module \
--with-google_perftools_module \
--add-module=/$DOWNLOAD_PATH/ngx_http_consistent_hash \
--add-module=/$DOWNLOAD_PATH/ngx_cache_purge \
--add-module=/$DOWNLOAD_PATH/nginx-http-sysguard \
--add-module=/$DOWNLOAD_PATH/ngx_devel_kit \
--add-module=/$DOWNLOAD_PATH/lua-nginx-module \
--with-debug
make && make install
if [ -f "/usr/local/nginx/sbin/nginx" ]; then
    echo "/usr/local/nginx/sbin/nginx is ok"
else
    echo "nginx install is error"
fi


你可能感兴趣的:(nginx,linux,shell)