1、nginx反向代理安装配置

 #!/usr/bin/bash
if [ -e /etc/nginx/nginx.conf ]
then
echo 'Already installed'
exit
else
/usr/bin/yum -y install epel*
/usr/bin/yum -y install nginx*
fi if [ -f /etc/nginx/nginx.conf ];then
msg="upstream zhanggen { server 1.1.1.1 weight=8;server 2.2.2.2 weight=6;server 3.3.3.3;}"
/usr/bin/sed -ri "/^http/a $msg" /etc/nginx/nginx.conf
/usr/bin/sed -ri "/^ *location \/ \{$/a proxy_pass http://zhanggen\;" /etc/nginx/nginx.conf
fi /usr/sbin/nginx -t
return=`echo $?`
if [ $return -ne ]
then
echo "config error"
else
echo "config success "
fi
/usr/bin/systemctl start nginx
/usr/bin/ps -ef | /usr/bin/grep nginx |/usr/bin/grep -v 'grep' value=`echo $?`
if [ $value -eq ]
then
echo 'Start nginx successful'
else
echo 'Start nginx faild please check again'
fi

2、安装配置后端nginx

 #!/usr/bin/bash
if [ -e /etc/nginx/nginx.conf ]
then
echo 'Already installed'
exit
else
yum -y install epel*;
yum -y install nginx*;
fi if [ -f /etc/nginx/nginx.conf ]
then
nginx -t
else
echo "Installation failed"
fi return=`echo $?`
if [ $return -ne ]
then
echo "config error"
else
echo "config success "
fi systemctl start nginx; ngxStatus=`ps aux | grep -v grep |grep -c nginx` if [ $ngxStatus -lt ]
then
echo "Start nginx successful"
fi

3、安装NFS服务端

 #!/usr/bin/sh
while true
# -*- coding: UTF- -*-
do
test -s /etc/exports
return=`echo $?`
if [ $return -ne ]
then
yum install rpcbind nfs-utils –y
echo "/share * (rw,sync,fsid=0)" > /etc/exports
mkdir -p /share
chmod -R o+w /share
systemctl enable nfs-server.service && systemctl enable rpcbind.service
systemctl start rpcbind.service && systemctl start nfs-server.service
iptables -F && iptables -X
share=`showmount -e`
access_IP=`awk '{print $2}' /etc/exports`
echo "NFS安装成功,您共享给大家的目录为: $share $access_IP可访问到它"
exit else
echo "已经安装了 NFS 服务"
exit
fi
done

4、安装NFS客户端

 #!/usr/bin/sh
while :
do
iptables -F && iptables -F
yum install rpcbind nfs-utils -y
service rpcbind start
service nfs start
showmount -e 192.168.182.141
re=`echo $?`
if [ $re -eq ]
then
mount -t nfs 192.168.182.141:/share /var/www/
else
mount fiald !
fi
exit
done

5、检查nginx和NFS可用性,并邮件报警。

 #!/usr/bin/sh
ps -ef |grep nfsd |grep -v 'grep'
return6=`echo $?`
if [ $return6 -ne ]
then
msg="TIME:$(/usr/bin/date +%F_%T)
HOSTNAME:$(/usr/bin/hostname)
IPADDR:$(/usr/sbin/ifconfig |/usr/bin/awk 'NR==2{print $2}')
NFS is faild"
echo "$msg"
/usr/bin/mail $msg
systemctl start nfs-server.service
fi
ps -ef |grep nginx |grep -v 'grep'
return8=`echo $?`
if [ $return8 -ne ]
then
msg="TIME:$(/usr/bin/date +%F_%T)
HOSTNAME:$(/usr/bin/hostname)
IPADDR:$(/usr/sbin/ifconfig |/usr/bin/awk 'NR==2{print $2}')
nginx is faid"
echo "$msg"
/usr/bin/mail $msg
systemctl start nginx
fi

6、Python发邮件模块 mv /usr/bin/mail

#!/usr/bin/python
# -*- coding: UTF- -*-
import sys
import smtplib
import email.mime.multipart
import email.mime.text server = 'smtp.163.com'
port = '' def sendmail(server,port,user,pwd,msg):
smtp = smtplib.SMTP()
smtp.connect(server,port)
smtp.login(user, pwd)
smtp.sendmail(msg['from'], msg['to'], msg.as_string())
smtp.quit()
print('邮件发送成功email has send out !') if __name__ == '__main__':
msg = email.mime.multipart.MIMEMultipart()
msg['Subject'] = '你是风儿我是沙,缠缠绵绵回我家'
msg['From'] = 'python4_mail@163.com'
msg['To'] = 'python4_recvmail@163.com'
user = 'python4_mail'
pwd = 'sbalex3714'
content='%s\n%s' %('\n'.join(sys.argv[:]),' '.join(sys.argv[:])) #格式处理,专门针对我们的邮件格式 txt = email.mime.text.MIMEText(content, _charset='utf-8')
msg.attach(txt) sendmail(server,port,user,pwd,msg)

7、设置crotable 每5分钟检查一次

crontab -e

*/5 * * * * /status_check.sh

(Nginx反向代理+NFS共享网页根目录)自动部署及可用性检测的更多相关文章

  1. nginx反向代理和负载均衡的简单部署

    1.   安装 1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2)    ...

  2. Nginx反向代理负载均衡的容器化部署

    首先,在home目录创建microservices目录,开启第一篇章. cd ~ && mkdir microservices && cd microservices ...

  3. Nginx反向代理负载均衡配置

    1.反向代理概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求 ...

  4. Linux之nginx反向代理+三台web+nfs共享存储实现集群配置

    作业四:nginx反向代理+三台web+nfs共享存储实现集群配置 在各个web服务器上挂载nfs [root@localhost nginx]# mount -t nfs 192.168.152.1 ...

  5. Linux基础-----------nginx安装和nginx web、nginx反向代理、nfs 服务

    作业一:nginx服务1)二进制安装nginx包 yum install epel-release -y 先安装epel-release 再查看yum源中已经安装上了epel相关文件 中间省去了一些安 ...

  6. linux---nginx服务nfs服务nginx反向代理三台web

    一:nginx服务 1.二进制安装nginx包 [root@bogon ~]# systemctl disable firewalld #关闭Firewalls自启动 Removed symlink ...

  7. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  8. 使用python自动生成docker nginx反向代理配置

    由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...

  9. 使用nginx反向代理到不同服务器(共享同一端口)配置文件

    使用nginx反向代理到不同服务器(共享同一端口)配置文件 https://blog.csdn.net/wang_k_123/article/details/72779443 https://www. ...

随机推荐

  1. 理解 Redis(3) - 字符串值

    正如前面所讲的, redis 的数据结构就是一系列的键值对键 -> printable ASCII (可打印的 ASCII 码, 最大值是 512MB)值 -> Primitives (基 ...

  2. 【BZOJ】3140: [Hnoi2013]消毒

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3140 猜一发(显然)有结论:每次一定选择一个平面,即每次操作对答案的贡献都为$1$ 首先可 ...

  3. Add Two Numbers ,使用链表参数

    # Definition for singly-linked list. class ListNode(object): def __init__(self, x): self.val = x sel ...

  4. GridView实现拖拽排序以及数据交互

    在研究项目中的一个效果的时候,查找资料过程中发现有人有这么一种需求,就是GridView在实现拖拽排序的基础上,如果是两个GridView之间实现拖拽效果,并要实现数据交互. 一.效果图: 实现这个效 ...

  5. 学习笔记12—linux下文件的复制、移动与删除

    查看centOS 版本     cat /etc/redhat-release 1,复制粘贴文件 cp  [选项]  源文件或目录  目标文件或目录 2,剪切粘贴文件 mv [选项]  源文件或目录 ...

  6. Codeforces 1079 E - The Unbearable Lightness of Weights

    E - The Unbearable Lightness of Weights 思路: 分组背包dp 每组最多只能选一个 一些优化可以快很多 代码: #pragma GCC optimize(2) # ...

  7. Day2-异步IO+Scrapy爬虫

    一.异步IO http://www.cnblogs.com/wupeiqi/articles/6229292.html 这篇文章写的不错,展示了多种高并发的方式,从同步执行→多线程→多进程→async ...

  8. Memcached安装&启动

    安装 *Linux系统安装memcached,首先要先安装libevent库,安装请指定 --with--libevent=PATH(若安装过程中出现configure: error : no acc ...

  9. QQ Protect 的删除

    删的好费劲,驱动程序,服务,各个东西都在相互保护. 最后总结: 1)进安全模式 2)删除 下面的文件 c:\program files\tencent\qqlite\shellext\qqshelle ...

  10. 雷林鹏分享:XML 验证器

    XML 验证器 使用我们的 XML 验证器来对您的 XML 文件进行语法检查. XML 错误会终止您的程序 XML 文档中的错误会终止您的 XML 应用程序. W3C 的 XML 规范声明:如果 XM ...