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. PL/SQL Developer登录出现——Using a filter for all users can lead to poor performance!

    用PL/SQL  Developer登录Oracle时提示:Using a filter for all users can lead to poor performance! 分析:与Oracle的 ...

  2. netstat 在windows下和Linux下查看网络连接和端口占用

    假设忽然起个服务,告诉我8080端口被占用了,OK,我要去看一下是什么服务正在占用着,能不能杀 先假设我是在Windows下: 第一列: Proto 协议 第二列: 本地地址[ip+端口] 第三列:远 ...

  3. 幂率定律及绘制Power-law函数

    来自:Eastmount 在我们日常生活中Power Law(幂次分布,Power-law Distributions)是常见的一个数学模型,如二八原则.这个世界上是20%的人掌握80%的人的金钱去经 ...

  4. SQL Server DATEADD() 函数及实际项目应用注意事项

    1. DATEADD() 函数的解释和语法分析 DATEADD() 函数在日期中添加或减去指定的时间间隔. 语法: DATEADD(datepart,number,date) date 参数是合法的日 ...

  5. [原][osg]Geometry详解

    //geometry成员变量 PrimitiveSetList _primitives; osg::ref_ptr<Array> _vertexArray; //顶点 osg::ref_p ...

  6. 力扣(LeetCode)69. x 的平方根

    实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 示例 ...

  7. python类中保存非绑定方法作为成员函数

    习惯了函数式,动不动传一个函数.但是直接把函数作为类方法保存,再调用时会报错. 举一个unittest时的例子 class MyTestCase(unittest.TestCase): @classm ...

  8. mac显示影藏文件

    http://blog.csdn.net/xiaoyuanzhiying/article/details/46694577 然后finder强制退出,然后重启.

  9. 最短路径遍历所有的节点 Shortest Path Visiting All Nodes

    2018-10-06 22:04:38 问题描述: 问题求解: 本题要求是求遍历所有节点的最短路径,由于本题中是没有要求一个节点只能访问一次的,也就是说可以访问一个节点多次,但是如果表征两次节点状态呢 ...

  10. 关于ORA-00979 不是 GROUP BY 表达式错误的解释

    ORA-00979 不是 GROUP BY 表达式”这个错误,和我前面介绍的另外一个错误ORA-00937一样使很多初学oracle的人爱犯的. 我在介绍使用聚合函数中用group by来分组数据时特 ...