#!/bin/bash

#作者:星云法师(头条号:西西图图---专注美食领域的研究)

#环境:centos7,如果是其它的系统可以相应做调整。
#--------选择安装方式,网络晚装还是本地安装--------------
read -p "Install nginx from internet or localpacke?answer i or l:" installway
installways=`echo $installway| tr [a-z] [A-Z]`
read -p "Install some need tools(Y/N):" needpack
needpacks=`echo $needpack| tr [a-z] [A-Z]`

#----是否要配置安装环境---------------------------
if [ "$needpacks" == "Y" ];then
    cd /etc/yum.repos.d
    mkdir -p /etc/yum.repo.bak
    mv /etc/yum.repos.d/* /etc/yum.repo.bak
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    yum clean all
    yum -y install openssh-clients wget gcc gcc-c++ install zlib zlib-devel openssl openssl-devel pcre-devel
elif [ "$needpacks" != "Y" ]&&[ "$needpacks" != "N" ];then
    echo "Input error!"
    exit 1
fi

#-----网络实际安装---------------------
if [ "$installways" == "I" ];then
    cd /tmp
    curl http://nginx.org/download/|awk -F'"' '{print $2}'|grep "nginx"|grep "tar"|awk -F'.tar' '{print $1}' >/tmp/nginxtmp.txt
    sort /tmp/nginxtmp.txt|uniq

#-------选择安装版本
    read -p "which version you want to install(input all you see):" version
    wget http://nginx.org/download/$version".tar.gz"
    tar xf $version".tar.gz"
        if [ $? -eq 0 ];then
            cd $version/
            groupadd nginx
            mkdir -p /var/cache/nginx
            useradd nginx -g nginx -s /sbin/nologin -M
            ./configure --user=nginx --group=nginx --prefix=/etc/nginx  --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-debug --with-stream --with-file-aio --with-threads --with-http_auth_request_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-mail --with-mail_ssl_module
            if [ $? -eq 0 ];then
                make && make install
                if [ $? -eq 0 ];then
                    echo "the bin in /usr/sbin/"
                    echo "Next is cmd about control nginx:"
                    echo "check nginx snock by \"/usr/sbin/nginx -t\""
                    echo "start nginx by \"/usr/sbin/nginx\""
                    echo "stop nginx  by \"/usr/sbin/nginx -s stop\""
                    echo "reload nginx  by \"/usr/sbin/nginx -s reload\""
                fi
            fi
        fi

#------本地安装--------------------
elif [ "$installways" == "L" ];then

#-----安装包来源主机---------------
    read -p "which ip your nginx packge from:" fromip

#-----安装包在远程主机的路径---------------
    read -p "which path your packge in:" path

#-----安装包版本,要全称--------------------
    read -p "which version your packge is(all name:nginx-1.14.2):" lversion

if [ "$fromip" != "" ]&&[ "$path" != "" ];then
        destpath=$fromip:$path$lversion
        scp root@$destpath /usr/local
        cd /usr/local
        tar xf $lversion".tar.gz"
        if [ $? -eq 0 ];then
            cd $lversion/
            groupadd nginx
            useradd nginx -g nginx -s /sbin/nologin -M
            ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module
            if [ $? -eq 0 ];then
                make && make install
                if [ $? -eq 0 ];then
                    echo "the bin in /usr/local/nginx/sbin/"
                fi
            fi
        fi
    fi
elif [ "$installways" != "I" ]&&[ "$installways" != "L" ];then
    echo "Input error!";exit 1
fi

nginx各版本全自动编译安装脚本的更多相关文章

  1. Nginx编译安装脚本

      Nginx是高性能的web服务器和反向代理服务器,在互联网公司中被广泛使用.以下是Nginx在centos7系统下的一键编译安装脚本,仅供参考,具体编译参数选项请结合实际生产环境需求进行选择,脚本 ...

  2. nginx-1.12.0版本(编译安装)-自定义安装路径

    nginx-1.12.0版本(编译安装)-自定义安装路径 安装路径:/application/nginx-1.12.0 1.前期准备 安装编译需要的gcc和gcc-c++ yum install -y ...

  3. 新安装和已安装nginx如何添加未编译安装模块/补丁

    新安装和已安装nginx如何添加未编译安装模块/补丁 --http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=10485& ...

  4. php-fpm编译安装脚本

      PHP是开源.轻量级.高效的开发语言,特别适合web项目开发,在中小型互联网公司中常用于开发web后端.PHP常与Nginx及MySQL数据库结合,搭建LNMP环境.以下为centos7系统下ph ...

  5. bash-2 httpd服务的源码编译安装脚本

    httpd服务的源码编译安装脚本 #!/bin/bash # #******************************************************************** ...

  6. CentOS6.6 32位 Minimal版本纯编译安装Nginx Mysql PHP Memcached

    声明:部分编译指令在博客编辑器里好像被处理了,如双横线变成单横线了等等,于是在本地生成了一个pdf版本,在下面地址可以下载. LNMP+Memcached CentOS是红帽发行的免费的稳定Linux ...

  7. shell脚本专题之-----------全自动编译安装mysql

    mysql的编译安装,在博客 开源服务专题之--------mysql的编译安装 中已经说明了,但是还是比较麻烦,尤其是一大堆命令,来手动执行,稍有不慎,就会出错.生产上一般都是先在本地测试环境进行自 ...

  8. shell脚本专题之-----------全自动编译安装mysql(免安装版)

    mysql的编译安装,在博客 开源服务专题之--------mysql的编译安装 中已经说明了,但是还是比较麻烦,尤其是一大堆命令,来手动执行,稍有不慎,就会出错.生产上一般都是先在本地测试环境进行自 ...

  9. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10

    一.安装前的准备工作 1.yum update    #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2  ...

随机推荐

  1. 随笔2 AbstractMap<K,V>

    上一篇写了Map接口的源码分析,这一篇写一下Map接口的一个实现类AbstractMap,从名字就可以看出这是一个抽象类,提供了Map接口的骨架实现,为我们实现Map接口的时候提供了很大的便利.在这里 ...

  2. springboot集成hibernate

    package com.jxd.Boot.hibernate.dao.impl; import java.util.List; import javax.persistence.EntityManag ...

  3. alert(1) to win 4

    function escape(s) { var url = 'javascript:console.log(' + JSON.stringify(s) + ')'; console.log(url) ...

  4. bzoj1969 [Ahoi2005]LANE 航线规划 树链剖分

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=1969 题解 如果我们把整个图边双联通地缩点,那么最终会形成一棵树的样子. 那么在这棵树上,\( ...

  5. 给mongodb设置密码

    内容来自:https://segmentfault.com/a/1190000011554055 mongodb安装后是无需密码 Mongodb安装后自身是没有密码的,用户连接只需填写id地址,端口号 ...

  6. 阿里云吴天议:云原生SDWAN 应用 构建智能化云原生SDWAN生态

    2019年11月16日 SDWAN 大会在北京正式召开.阿里云网络资深产品专家吴天议先生继阿里云网络研究员祝顺民先生发表了对云原生SDWAN的进化与展望之后(原文请见https://bit.ly/2K ...

  7. Windows系统安装教程

    身边很多朋友电脑系统因为这样那样的问题不能开机,需要重装系统,但是又不知道从何下手.很不建议去电脑店重装系统,因为电脑店用的操作系统很多都有捆绑软件和主页捆绑,对电脑体验影响很坏.这篇教程只是针对新手 ...

  8. C# windows窗口应用程序切换主界面的显示内容

    不知道说清楚没有?就是我的窗口分为两部分,左边,控制部分,由一些按钮组成右边,显示部分,由些控件(如下拉,文本等等组成) 左边的每个按钮对应显示部分的页面,也就是说,左边换一个按钮点,那么右边就显示其 ...

  9. 51nod1446 限制价值树

    有N个点(N<=40)标记为0,1,2,...N-1,每个点i有个价值val[i],如果val[i]=-1那么这个点被定义为bad,否则如果val[i] >=0那么这个点为定义为good. ...

  10. PHPStorm + Xdebug 调试PHP代码 有大用

    星期四, 12/26/2013 - 19:54 - shipingzhong PHPStorm + Xdebug 调试PHP代码 http://e.v-get.com/2013-11-20 16:55 ...