简单的Nginx自动化安装啊脚本
#!/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自动化安装啊脚本的更多相关文章
- 【原】shell编写一个简单的jmeter自动化压测脚本
在公司做压力测试也挺长时间了,每次测试前环境数据准备都需要话费较长时间,所以一直在考虑能不能将整个过程实现自动化进行,于是就抽空写了一个自动化脚本,当然这个脚本目前功能十分简陋,代码也不完善,很有很多 ...
- CentOS自动化安装LAMP脚本
#!/bin/bash #-- #blog:lizhenliang.blog.51cto.com ########## function ########## depend_pkg () { yum ...
- lnmp_auto:自动化安装lnmp环境脚本
朋友找我在一台机器上帮忙安装下discuz.想着搭建过好几次的lnmp了,但是还没有使用过"一键安装"的自动化脚本,去网上有搜索出来,但是运行的时候发现用root运行别人的脚本还是 ...
- 【转】lnmp_auto:自动化安装lnmp环境脚本
原文链接: lnmp_auto:自动化安装lnmp环境脚本 这哥们整理的这篇博文很好 转载分享 博文转载如下: 源代码在github上:https://github.com/jianfengye/ ...
- Nginx自动安装脚本
添加一个install_nginx.sh脚本 版本一:(以下脚本为在线自动化安装) #!/bin/bash mkdir /soft cd /soft wget -c http://nginx.org/ ...
- PHP学习日记 Windows配置PHP+Nginx+自动化脚本
Windows配置PHP+Nginx+自动化脚本 安装与配置 PHP 下载PHP:传送门 选择合适的版本下载 尽量选Thread Safe 配置PHP: 解压后在文件夹中找到php.ini-devel ...
- 自动化安装SQL Server+SP就那么简单
随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- centos环境自动化批量安装软件脚本
自动化安装jdk软件部署脚本 准备工作: 1.在执行脚本的服务器上生成免密码公钥: 安装expect命令 yum install -y expect ssh-keygen 三次回车 2.将jdk-7u ...
随机推荐
- 重命名Apache日志,新日志文件会放在哪里
重命名access.log为access.log.bak,请问新的apache日志会放在哪? 本文转自51cto的李导的博客2017-09-30-08:11:41 原创作品,允许转载,转载时请务必以超 ...
- 怎么看 EOS 的代码最爽?
进入 EOS 的世界之前,愉快地看系统代码是第一步,试了 Visual Studio / Source Insight / Understand / Sublime 等多款 IDE / 编辑器后,强烈 ...
- python读取三维点云球坐标数据并动态生成三维图像与着色
关键步骤: 1.首先通过读取.txt文本数据并进行一系列字符串处理,提取显示所需要的相关数据矩阵 2.然后利用python的matplotlib库来进行动态三维显示 备注:matplotlib在显示2 ...
- EF Core利用Transaction对数据进行回滚保护
What? 首先,说一下什么是EF Core中的Transaction Transaction允许以原子方式处理多个数据库操作,如果事务已提交,则所有操作都应用于数据库,如果事务回滚,则没有任何操作应 ...
- 密码脱落 JAVA 蓝桥杯
密码脱落 X星球的考古学家发现了一批古代留下来的密码.这些密码是由A.B.C.D 四种植物的种子串成的序列.仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串).由于年代久远,其中许多 ...
- class 选择器
class 选择器 1.class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用. 2.class 选择器在HTML元素中以class属性(即cla ...
- JVM学习九:JVM之GC算法和种类
我们前面说到了JVM的常用的配置参数,其中就涉及了GC相关的知识,趁热打铁,我们今天就学习下GC的算法有哪些,种类又有哪些,让我们进一步的认识GC这个神奇的东西,帮助我们解决了C 一直挺头疼的内存回收 ...
- 关于input内容改变的触发时间
1.onchange onchange 事件会在域的内容改变时触发.支持的标签<input type="text">, <textarea>, <se ...
- 集大1513 & 1514班 软件工程第一次作业评分与点评
谢谢大多数同学按时完成了作业,同学态度都比较端正,没有为了完成作业或者讨好老师而说一些假话空话. 很多同学选择CS之前并没有从兴趣或者擅长出发.这是一个普遍的现象,十年前我们是这样,十年后的孩子们还是 ...
- 网上找的hadoop面试题目及答案
1.Hadoop集群可以运行的3个模式? 单机(本地)模式 伪分布式模式全分布式模式2. 单机(本地)模式中的注意点? 在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM ...