#!/bin/bash

#description:Nginx installation script automatically

#user:baomanji

#date:2017-03-25

#version:0.1

###############

ng_i=$(rpm -qa nginx | wc -l)

nfs_i=$(rpm -qa nfs-utils | wc -l)

ng_up='/etc/nginx/upstream'

ng_vh='/etc/nginx/vhost'

ng_d='/etc/nginx'

system_version=$(awk -F'[ .]+' '{print$4}' /etc/redhat-release)

if [ $system_version -eq 7 ];then

Ip=$(ifconfig | awk 'NR2{print$2}')

else

Ip=$(ifconfig | awk -F'[ :]+' 'NR2{print$4}')

fi

Net=$(echo $Ip | awk -F. '{print$1"."$2"."$3}')

######################################

######################################

function nfs_install() {

if [ $nfs_i -eq 0 ];then

yum -y install rpcbind nfs-utils

fi

test -d /share || mkdir /share

echo "/share $Net.0/24(rw,sync,fsid=0)" >> /etc/exports

chmod o+w /share

systemctl restart rpcbind.service

systemctl restart nfs-server.service

}

function nginx_install() {

if [ $ng_i -eq 0 ];then

if [ -f /etc/yum.repos.d/epel.repo ];then

yum -y install nginx rpcbind nfs-utils

sed -i 's#80#9000#g' /etc/nginx/nginx.conf

else

yum -y install epel-release

yum -y install nginx rpcbind nfs-utils

sed -i 's#80#9000#g' /etc/nginx/nginx.conf

fi

else

echo "nginx already install"

fi

ls -d /www/8080 || mkdir -p /www/8080
ls -d $ng_up || mkdir $ng_up
ls -d $ng_vh || mkdir $ng_vh
systemctl restart rpcbind.service
mount -t nfs nfs-server:/share /www/8080

}

function load () {

(

cat << EOF

server {

listen 80;

server_name $Ip;

location / {

proxy_pass http://pythonweb;

}

}

EOF

) > /etc/nginx/vhost/80.conf

(

cat << EOF

upstream pythonweb {

server python-web1:8080;

server python-web2:8080;

server python-web3:8080;

}

EOF

)> /etc/nginx/upstream/pythonweb.conf

}

function vhost() {

(

cat << EOF

server {

listen 8080;

server_name $Ip;

access_log /var/log/nginx/8080-log;

root /www/8080;

index index.html;

}

EOF

) > /etc/nginx/vhost/8080.conf

}

function boot_nginx() {

grep "/etc/nginx/upstream/" $ng_d/nginx.conf || sed -i '/default_type/ a\ include /etc/nginx/upstream/;' /etc/nginx/nginx.conf

grep "/etc/nginx/vhost/" $ng_d/nginx.conf || sed -i '/default_type/ a\ include /etc/nginx/vhost/;' /etc/nginx/nginx.conf

/usr/sbin/nginx -t && systemctl restart nginx.service && netstat -anpt | grep 80*

}

function options(){

while :

do

cat <<EOF

请选择========

install--安装Nginx

nfs------安装nfs

vhost----配置虚拟主机

load-----配置负载均衡

boot-----启动Nginx

exit-----退出

EOF

read -p "请输入选择:" input

case $input in

nfs)

nfs_install

;;

install)

nginx_install

;;

vhost)

vhost

;;

load)

load

;;

boot)

boot_nginx

;;

*)

exit

esac

done

}

options

简单的Nginx自动化安装啊脚本的更多相关文章

  1. 【原】shell编写一个简单的jmeter自动化压测脚本

    在公司做压力测试也挺长时间了,每次测试前环境数据准备都需要话费较长时间,所以一直在考虑能不能将整个过程实现自动化进行,于是就抽空写了一个自动化脚本,当然这个脚本目前功能十分简陋,代码也不完善,很有很多 ...

  2. CentOS自动化安装LAMP脚本

    #!/bin/bash #-- #blog:lizhenliang.blog.51cto.com ########## function ########## depend_pkg () { yum ...

  3. lnmp_auto:自动化安装lnmp环境脚本

    朋友找我在一台机器上帮忙安装下discuz.想着搭建过好几次的lnmp了,但是还没有使用过"一键安装"的自动化脚本,去网上有搜索出来,但是运行的时候发现用root运行别人的脚本还是 ...

  4. 【转】lnmp_auto:自动化安装lnmp环境脚本

    原文链接: lnmp_auto:自动化安装lnmp环境脚本  这哥们整理的这篇博文很好  转载分享 博文转载如下: 源代码在github上:https://github.com/jianfengye/ ...

  5. Nginx自动安装脚本

    添加一个install_nginx.sh脚本 版本一:(以下脚本为在线自动化安装) #!/bin/bash mkdir /soft cd /soft wget -c http://nginx.org/ ...

  6. PHP学习日记 Windows配置PHP+Nginx+自动化脚本

    Windows配置PHP+Nginx+自动化脚本 安装与配置 PHP 下载PHP:传送门 选择合适的版本下载 尽量选Thread Safe 配置PHP: 解压后在文件夹中找到php.ini-devel ...

  7. 自动化安装SQL Server+SP就那么简单

    随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...

  8. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  9. centos环境自动化批量安装软件脚本

    自动化安装jdk软件部署脚本 准备工作: 1.在执行脚本的服务器上生成免密码公钥: 安装expect命令 yum install -y expect ssh-keygen 三次回车 2.将jdk-7u ...

随机推荐

  1. 剑指Offer-求1+2+3+...+n

    package Other; /** * 求1+2+3+...+n * 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句( ...

  2. Java生成图片验证码

    在日常我们在登录或者注册的时候,网页上会出现验证码让我们填写,其实利用jdk提供给我们的工具类完全可以模拟出来一个生成验证码图片的功能. package util; import javax.imag ...

  3. 走近webpack(3)--图片的处理

    上一章,咱们学了如何用webpack来打包css,压缩js等.这一篇文章咱们来学习一下如何用webpack来处理图片.废话不多说,咱们开始吧. 首先,咱们随便找一张你喜欢的图片放到src/images ...

  4. 【Python】 关于import和package结构

    关于import语句 python程序需要使用某个第三方模块的话要用import语句,其实就是把目标模块的内容加载到内存里.当然,在加载之前,python会按照一定的顺序寻找sys.path中的目录. ...

  5. c++ --> 重载、重写(覆盖)和隐藏的区别

    重载.重写(覆盖)和隐藏的区别 一.重载 重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心 ...

  6. Algorithm --> 邮票连续组合问题

    邮票组合问题 有四种面值的邮票很多枚,面值分别为1,4,12,21,取五张,求取出这些邮票的最大连续组合值 代码: #include <stdio.h> #include <stri ...

  7. linux下安装Sublime Text3并将它的快捷方式放进启动器中

    Sublime Text是一个代码编辑器,我主要是用它来编辑python.下面就来简单说明下它在linux的安装过程吧! 1.添加sublime text3的仓库 首先按下快捷键ctrl+alt+t打 ...

  8. SpringAOP-JDK 动态代理和 CGLIB 代理

    在 Spring 中 AOP 代理使用 JDK 动态代理和 CGLIB 代理来实现,默认如果目标对象是接口,则使用 JDK 动态代理,否则使用 CGLIB 来生成代理类. 1.JDK 动态代理 那么接 ...

  9. SSH三大框架的整合

    SSH三个框架的知识点 一.Hibernate框架 1. Hibernate的核心配置文件 1.1 数据库信息.连接池配置 1.2 Hibernate信息 1.3 映射配置 1.4 Hibernate ...

  10. 冲刺总结随笔(Alpha)

    冲刺总结随笔 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.项目预期进展及现实进展 项目预期 ...