记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
基于Nginx实现灰度发布与AB测试作者:翁智华出处:https://www.cnblogs.com/wzh2010/背景单位的云办公相关系统没有成熟的平滑发布方案,导致每一次发布都是直接发布,dll文件或配置文件的变更会引起站点的重启。 云办公系统的常驻用户有10000+,即使短短半分多钟,也会收到一堆投诉。基于此,我们梳理了一套平滑发布的方案。实施方案1、跟nginx代理服务器约定了一个健康检查的接口2、通过接口返回的http状态码来让ngx是否分流用户请求(这个我们单位的技术部那边有标准的做法)3、根据提供的这个服务健康检查的接口:nginx判断只要某个实例的接口返回5xx的状态码,即把该实例下线(nginx不会把流量转发到该实例) 发布流程目的主要是为了发布的时候能够平滑发布,所以QA与开发人员在发布得时候按照如下步骤操作:1、打开系统的nginx列表管理页面:[/publish/ngxconfig]2、下架某一个实例(假设系统集群有A、B、C个实例),比如A实例3、查看是否下架成功:这个就是我们跟nginx约定的健康检查接口,正常在线状态下是200的statu,切离线后,这个接口返回的是401的statu。在线情况: 离线情况:4、观察监控站点,直至该实例下的Req、Connnectiuon流量都消失 5、在该实例下进行版...
Oracle 查看表空间与数据文件信息方法1,Oracle查看表空间信息方法,采用Toad软件的SQL。效果图如下:SQL内容如下:select a.tablespace_name, round(a.bytes_alloc / 1024 / 1024) megs_alloc, round(nvl(b.bytes_free, 0) / 1024 / 1024) megs_free, round((a.bytes_alloc - nvl(b.bytes_free, 0)) / 1024 / 1024) megs_used, round((nvl(b.bytes_free, 0) / a.bytes_alloc) * 100) Pct_Free, 100 - round((nvl(b.bytes_free, 0) / a.bytes_alloc) * 100) Pct_used, round(maxbytes/1048576) Max, c.status, c.contentsfrom ( select f.tablespace_name, sum(f.bytes) bytes_alloc, sum(decode(f.autoextensible, 'YES',f.maxbytes,'NO', f.bytes)) maxbytes from dba_data_files f group b...
华为云自动化部署LNMP,漏洞扫描服务VSS课程课件华为云微认证漏洞扫描VSS服务课件华为云微认证自动化部署LNMP课件华为云微认证ansible自动化部署LNMP实验指导
Centos7+Keepalived+mycat2+Mysql/MariaDB读写分离方案一,环境介绍。1,架构信息。Mycat2中间件主机两台,安装Centos7+keepalived+mycat2 ,使用vip 192.168.137.141,实现mycat高可用。Docker主机一台,安装Centos7+docker+三个mariadb实例, 使用 IP 192.168.137.40。2,数据库实例信息。mariadb01实例 IP: 192.168.137.40 端口:13311mariadb02实例 IP: 192.168.137.40 端口:13312mariadb03实例 IP: 192.168.137.40 端口:13313二,具体安装过程。这里不再讲docker与keepalived安装过程。1, 安装jdk环境。rpm -ivh jdk-linux-x64.rpm
#安装jdk软件包
#/etp/profile配置文件中添加JAVA环境变量
export JAVA_HOME=/usr/java/default
export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:/usr/java/kotlin/bin:$PATH
wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip
wget http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies-2022-3-9.jar
#下载软件包
cp -a mycat2-* /opt/
unzip mycat2-install-template-1.2...
seafile云盘+onlyoffice文档服务器一,安装说明。演示安装环境,Centos7+docker+mysql+memcached安装依赖与系统配置。 sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
yum -y install wget gcc make openssl-devel openssl net-snmp net-snmp-devel popt popt-devel
yum install -y yum-utils device-mapper-persistent-data lvm2
安装docker,docker-compose。yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
wget https://github.com//docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/bin/docker-com...
WIN10上开启路由转发及添加静态路由 注意:实验环境下主机B两个接口没有网关 操作步骤 一、主机B 开启 win10 转发功能 1、进入CMD 2、执行命令 reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v IPEnableRouter /D 1 /f 3、进入注册表 将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRoute设为1 4、启动Routing服务 将 Routing and Remote Access 服务的启动类型更改为自动并启动服务 5、进入CMD执行命令 sc config RemoteAccess start= auto sc start RemoteAccess 6、主机A添加路由 Route add 192.168.114.0 mask 255.255.255.0 192.168.49.99 完成之后,ping测试即可。有默认路由,就可以不用添加此路由
keepalived+LVS NAT模式集群配置与firewall防火墙配置 一,环境介绍下面的示例在 NAT 模式下使用 Keepalived 在两台服务器上实现简单的故障转移和负载平衡配置。一台服务器充当主服务器,另一台服务器充当备份。主服务器的优先级高于备份服务器。每个服务器都有两个网络接口,其中一个接口连接到面向外部网络的一侧 (192.168.1.0/24),另一个接口连接到可访问两个 Web 服务器的内部网络 ( 10.0.0.0/24)。下图显示了 Keepalived master。Keepalived backup服务器 Web 服务器 的IP地址信息 。DIP1:192.168.1.10 192.168.1.1 10.0.0.10 10.0.0.100 DIP2:192.168.1.11 10.0.0.11 websvr1 10.0.0.71websvr2 10.0.0.72 二,网络拓扑图 NAT 模式下负载平衡的保持启用配置示例 三,keepalived配置您可以在 主服务器上使用以下配置:/etc/keepalived/keepalived.confglobal_defs { notification_email { root@mydomain.com } notification_email_from svr1@mydomain.com smtp_server localhost smtp_connect_timeout 30}
vrrp_sync_group VRRP1 {# Group the external and inter...
keepalived+LVS NAT模式集群配置 一,环境介绍下面的示例在 NAT 模式下使用 Keepalived 在两台服务器上实现简单的故障转移和负载平衡配置。一台服务器充当主服务器,另一台服务器充当备份。主服务器的优先级高于备份服务器。每个服务器都有两个网络接口,其中一个接口连接到面向外部网络的一侧 (192.168.1.0/24),另一个接口连接到可访问两个 Web 服务器的内部网络 ( 10.0.0.0/24)。 下图显示了 Keepalived master。Keepalived backup服务器 Web 服务器 的IP地址信息 。LB01:192.168.1.10 192.168.1.1 10.0.0.10 10.0.0.100 LB02:192.168.1.11 10.0.0.11 websvr1 10.0.0.71websvr2 10.0.0.72 二,网络拓扑图 NAT 模式下负载平衡的保持启用配置示例 三,keepalived配置您可以在 主服务器上使用以下配置:/etc/keepalived/keepalived.confglobal_defs {
notification_email {
root@mydomain.com
}
notification_email_from svr1@mydomain.com
smtp_server localhost
smtp_connect_timeout 30
}
vrrp_sync_group VRRP1 {
# Group the external and internal VRRP instances so they fail over together
g...
keepalived配置VIP+宝塔BT面板nginx配置tcp负载均衡高可用方案 一,环境介绍。 1,主机配置。 主机:LB01,IP: 192.168.137.30,centos7,BT面板(只装nginx),Keepalived 是master角色. 主机:LB02,IP: 192.168.137.31,centos7,BT面板(只装nginx),Keepalived 是backup角色. docker主机:IP: 192.168.137.32,centos7,docker,安装2个nginx容器模拟2个web站点,如下: 192.168.137.32:8341 ,OA业务集群站点 192.168.137.32:8342, OA业务集群站点VIP: 192.168.137.41, tcp负载端口 8001。2,实现效果。 vip提供高可用,访问 192.168.137.41:8001端口时,转发到后端服务器192.168.137.32的8341与8342端口上。当然你可以购买面板上面的商业收费功能,也是一样的效果。二,keepalived主机配置。1,LB01 master主机的keepalived.conf配置。global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id tcp-1
}
vrrp_instance VI_1 {
state MASTER
nopreempt #LB01故障...
nginx通过$host自动代理负载均衡到web站点[root@localhost ]# cat /usr/local/nginx/conf/nginx.conf upstream www.dd.cn {
#ip_hash;
server 192.168.188.128:81;
server 192.168.188.129:80;
}
upstream abc.dd.cn {
#ip_hash;
server 192.168.188.128:81;
server 192.168.188.129:80;
}
server {
listen 80;
server_name localhost;
index index.php index.html index.htm default.php default.htm default.html;
location / {
proxy_pass http://$host;
proxy_connect_timeout 4s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
(注意):这里upstream后面的名字必须跟你访问的域名保持完全一致,否则将无法代理。因为proxy_pass是根据$host来匹配的。nginx内置变量详解$args ...
总共266页,当前第16页 | 页数: - 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
最新评论