简单的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 ...
随机推荐
- Linux中断子系统:级联中断控制器驱动
Linux中断子系统 Linux中断子系统是个很大的话题,如下面的思维导图所示,包含硬件.驱动.中断上半部.中断下半部等等.本文着眼于中断控制器(PIC),特别是级联中断控制器驱动部分,对驱动的设计和 ...
- javascript中函数的闭包自调用
话不多说, 直接上代码 // 定义一个变量outerParam, 然后使用一个闭包函数给该变量初始化var outerParam = (function testClosure(param) { // ...
- javascript中的null,对象系统还是非对象系统?
1.一直以来的认知 在我学习js的过程中,爱民老师的绿皮书里将js的类型系统分成了两类: 其一是元类型系统:由typeof运算来检测 其二是对象类型系统:是元类型的object的一个分支 而null这 ...
- MySQL使用和操作总结
简介 MySQL是一种DBMS,即它是一种数据库软件.DBMS可分为两类:一类是基于共享文件系统的DBMS,另一类是基于客户机——服务器的DBMS.前者用于桌面用途,通常不用于高端或更关键应用. My ...
- java设计模式------工厂设计模式
总结 以上就是工厂模式的基本实现和详细说明.包括了简单工厂模式.工厂方法模式.抽象工厂模式.我们可以基于需求来选择合适的工厂模式 基本概念:为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来 ...
- java中有关流操作的类和接口
一.java操作l流有关的类和接口 1.File 文件类 2.RandomAccessFile 随机存储文件类 3.InputStream 字节输入流 4.OutputStream 字节输出流 5.R ...
- Oracle创建用户、角色、授权、建表
oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...
- GLES2学习VBO和VAO的使用
在GLES2中使用VBO和VAO对象,已经简单vs,ps绘制一个三角形. 1. 初始化操作代码,创建VBO.VAO,编译和链接shader program. void DebugApplication ...
- [BZOJ 1079][SCOI 2008]着色方案
1079: [SCOI2008]着色方案 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2237 Solved: 1361[Submit][Stat ...
- [高级软件工程教学]团队Alpha阶段成绩汇总
一.作业地址: https://edu.cnblogs.com/campus/fzu/AdvancedSoftwareEngineering/homework/1408 https://edu.cnb ...