(Nginx反向代理+NFS共享网页根目录)自动部署及可用性检测
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共享网页根目录)自动部署及可用性检测的更多相关文章
- nginx反向代理和负载均衡的简单部署
1. 安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2) ...
- Nginx反向代理负载均衡的容器化部署
首先,在home目录创建microservices目录,开启第一篇章. cd ~ && mkdir microservices && cd microservices ...
- Nginx反向代理负载均衡配置
1.反向代理概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求 ...
- Linux之nginx反向代理+三台web+nfs共享存储实现集群配置
作业四:nginx反向代理+三台web+nfs共享存储实现集群配置 在各个web服务器上挂载nfs [root@localhost nginx]# mount -t nfs 192.168.152.1 ...
- Linux基础-----------nginx安装和nginx web、nginx反向代理、nfs 服务
作业一:nginx服务1)二进制安装nginx包 yum install epel-release -y 先安装epel-release 再查看yum源中已经安装上了epel相关文件 中间省去了一些安 ...
- linux---nginx服务nfs服务nginx反向代理三台web
一:nginx服务 1.二进制安装nginx包 [root@bogon ~]# systemctl disable firewalld #关闭Firewalls自启动 Removed symlink ...
- Nginx反向代理,负载均衡,redis session共享,keepalived高可用
相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- 使用nginx反向代理到不同服务器(共享同一端口)配置文件
使用nginx反向代理到不同服务器(共享同一端口)配置文件 https://blog.csdn.net/wang_k_123/article/details/72779443 https://www. ...
随机推荐
- React组件导入的两种方式(动态导入组件的实现)
一. react组件两种导入方式 React组件可以通过两种方式导入另一个组件 import(常用) import component from './component' require const ...
- 添加删除tag
为某个分支打tag git tag -a v1. 9fceb02 删除tag git tag -d test_tag git push origin --delete tag test_tag 推送: ...
- python函数的动态传参.作用域与命名空间
一.动态传参1.*表示动态传参. 可以接受所有的位置参数传参的时候自动的把实参打包成元组 交给形参 def chi(*food): print(food) chi() # 动态传参可以不传参数 chi ...
- 正则获取 某段 DIV 中 的内容
string html = "<div class='aa'><div class='left'>324324<div>dsfsdf</div> ...
- 如何在Vue项目中使用vw实现移动端适配(转)
有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...
- Java离线人脸识别SDK 支持arcface 2.0 最新版
虹软人脸识别SDK之Java版,支持SDK 1.1+,以及当前最新版本2.0,滴滴,抓紧上车! JDK SDK Win release license status 前言 由于业务需求,最近跟人脸识别 ...
- Spark Streaming笔记
Spark Streaming学习笔记 liunx系统的习惯创建hadoop用户在hadoop根目录(/home/hadoop)上创建如下目录app 存放所有软件的安装目录 app/tmp 存放临时文 ...
- 分散的配置文件VS集中的注册表
假设有这样一个工程,是这样设计的: 1整个软件.服务被切分为 由若干独立的多道程序(多个进程/微服务): 2 这些多道程序只是“机制mechanism”,而“策略strategy”写在各自用到的配置文 ...
- 算法笔记--斜率优化dp
斜率优化是单调队列优化的推广 用单调队列维护递增的斜率 参考:https://www.cnblogs.com/ka200812/archive/2012/08/03/2621345.html 以例1举 ...
- Python全栈开发-Day7-面向对象编程2
本节内容: 1.面向对象高级语法部分 1)静态方法.类方法.属性方法 3)类的特殊方法 4)反射 2.异常处理 3.动态导入模块 静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一 ...