集群架构
文章平均质量分 71
是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计,多台主机协同工作!
秋风お亦冷
运维工程师
展开
-
配置【专有网络VPC对等连接】实现多VPC内网免费互通
白话理解VPC的单向连通、双/多互通原理,并演示配置过程案例。原创 2023-08-21 09:03:29 · 332 阅读 · 0 评论 -
Ansible自动按年归档Nginx日志脚本
编写脚本,每年1月1号将所有Nginx服务器去年的日志文件分别创建目录存放备份。原创 2023-08-14 09:18:31 · 125 阅读 · 0 评论 -
Docker部署任务调度平台XXL-JOB
1.介绍 XXL-JOB是一个分布式任务调度平台: 其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用 详细参考:XXL-JOB官方文档2.配置xxl-job.sqlsql内容不可修改,否则登录失败!执行以下sql命令,创建库、表## XXL-JOB v2.3.0# Copyright (c) 2015-present, xuxueli.CREATE database if NOT EXISTS `xxl_job`原创 2021-11-16 18:01:47 · 974 阅读 · 0 评论 -
Nginx根据请求头转发到不同版本服务器【灰度发布】
根据业务场景需求,将请求转发到不同(新老)版本服务器,满足业务需求。原创 2023-07-03 10:03:50 · 1172 阅读 · 0 评论 -
阿里云创建+配置负载均衡ALB
应用型负载均衡ALB(Application Load Balancer)是阿里云推出的专门面向HTTP、HTTPS和QUIC等应用层负载场景的负载均衡服务,具备超强弹性及大规模应用层流量处理能力,并提供最高99.995%的SLA可用性保障。ALB具备处理复杂业务路由的能力,与云原生相关服务深度集成,是阿里云官方提供的云原生Ingress网关。原创 2023-06-19 09:00:00 · 384 阅读 · 0 评论 -
阿里云日志服务STS告警配置【短信+钉钉】
按顺序快速配置阿里云日志服务告警,比官方文档更简洁实用!原创 2023-06-13 11:27:01 · 1380 阅读 · 0 评论 -
Nginx精确控制放行支付接口白名单
服务,为了避免黑客攻击后端的支付接口,通过接口API调用支付功能,以下将使用Nginx来准确的控制支付接口的放行/阻止。内容,访问错误将显示此页面,代码请求则返回。放行策略:公司内,其他可再次添加。若不在白名单内,则返回。错误代码并打印指定的。原创 2023-06-12 14:06:07 · 192 阅读 · 0 评论 -
统计Nginx请求成功率等信息脚本
统计Nginx的访问信息,如请求成功/失败率、当日PV、请求频繁URL/IP/客户端IP的TOP10原创 2023-04-24 16:09:18 · 246 阅读 · 0 评论 -
Nginx配置实现文件下载+预览模式(实现ftp/sftp 服务器)
实现:具体根据需求自定义配置多种类型的文件访问/下载的模式。原创 2023-04-21 17:06:05 · 1479 阅读 · 0 评论 -
AB命令一键自动化测试Nginx并发能力脚本
在Linux系统内,一键自动化快速测试服务器的并发/请求量,从而验证服务器或Nginx的并发能力。执行脚本选择对应模式并输入对应参数进行测试。原创 2023-03-28 17:03:47 · 334 阅读 · 0 评论 -
Nginx的root与alias用法+区别案例+返回自定义错误页面
当同路径下有`index.html、test.html`,若配置文件内这两个都写了,哪个在前则会访问到哪个,访问另一个需输入文件。原创 2022-11-16 14:11:31 · 924 阅读 · 0 评论 -
架构期-day27-jinja模板与Roles剧本角色管理
一、playbook忽略错误默认playbook会检测task执行的返回状态,如果遇到错误则会立即终止playbook的后续task执行,然鹅有些时候playbook即使执行错误了也要让其继续执行- hosts: web_group tasks: - name: Check Httpd Server #使用命令检查服务启动状态时,如果服务没有启动则会得到错误结果,剧本会停止运行 command: systemctl is-active httpd #配置原创 2020-12-24 22:11:40 · 202 阅读 · 0 评论 -
架构期day26-Ansible流程控制-循环语句-任务标签-剧本复用
一、Ansible定义变量1.设置变量的方法1.在主机清单中配置变量2.在命令行定义变量3.在playbook中定义变量4.使用内置变量5.通过vars_file定义变量6.通过host_vars和group_vars定义变量2.变量优先级测试1)在playbook中定义变量[root@m01 project]# vim test.yml - hosts: web_group vars: file: playbook_vars tasks: - name:原创 2020-12-23 21:11:08 · 255 阅读 · 0 评论 -
架构期day25-Ansible实战--定义变量
Ansible playbook 实战一、基础准备#1.安装ansible[root@m01 ~]# yum install -y ansible#2.配置ansible[root@m01 ~]# vim /etc/ansible/ansible.cfghost_key_checking = False#3.配置主机清单[root@m01 ~]# vim /etc/ansible/hosts [lb_server]lb01 ansible_ssh_pass='1'lb02 ansi原创 2020-12-22 21:48:52 · 202 阅读 · 0 评论 -
架构期day24-Ansible--Playbook剧本介绍及使用
一、Ansible 主机信息模块1.setup 模块#1.获取web01主机所有信息[root@m01 ~]# ansible web01 -m setup#2.获取主机IP[root@m01 ~]# ansible web01 -m setup -a 'filter=ansible_default_ipv4'#3.获取主机名[root@m01 ~]# ansible web01 -m setup -a 'filter=ansible_fqdn'web01 | SUCCESS =>原创 2020-12-22 21:46:59 · 266 阅读 · 0 评论 -
架构期day23-Ansible模块的使用
拉过来后会自动创建以主机名命名的文件夹,且包含全路径,使用。与copy模块相同,不同的是从远程拉取到本地,只支持文件。原创 2020-12-22 21:43:06 · 317 阅读 · 0 评论 -
架构期day22-Ansible介绍及简单使用
Ansible 学习一、Ansible 概述1.什么是AnsibleAnsible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。2.自动化工具1. puppet 学习难,安装ruby环境难,没有远程执行功能2. ansible 轻量级,大规模环境下只通过ssh会很慢,串行的,也会有小量的并行。# ansible 安装方式 yum install -y ansibl原创 2020-12-22 21:41:37 · 155 阅读 · 0 评论 -
架构期day22-Ansible介绍及简单使用
Ansible 学习一、Ansible 概述1.什么是AnsibleAnsible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。2.自动化工具1.puppet 学习难,安装ruby环境难,没有远程执行功能2.ansible 轻量级,大规模环境下只通过ssh会很慢,串行的3.saltstack 一般选择salt会使用C/S结构的模式,salt-master和salt-原创 2020-12-17 22:15:43 · 154 阅读 · 0 评论 -
架构期day20-nginx与php的优化
Nginx优化一、静态资源优化1.静态资源2.静态资源缓存1.Etag:服务器上的文件唯一标示2.Last-Modified:服务器上的文件最后修改时间3.Expires:文件缓存过期时间4.Cache-Control:文件多久过期5.If-None-Match:浏览器上的文件唯一标示6.If-Modified-Since:浏览器上的文件最后修改时间1)配置缓存过期时间#语法Syntax: expires [modified] time; expires epoch | max原创 2020-12-15 21:31:54 · 383 阅读 · 0 评论 -
架构期day19-nginx的常见问题与优化
Nginx常见问题一、server优先级1.首先选择所有的字符串完全匹配的server_name。(完全匹配)2.选择通配符在前面的server_name,如.driverzeng.com blog.driverzeng.com3.选择通配符在后面的server_name,如driverzeng. driverzeng.com driverzeng.cn4.最后选择使用正则表达式匹配的server_name5.如果全部都没有匹配到,那么将选择在listen配置项后加入[default_serve原创 2020-12-14 16:33:56 · 245 阅读 · 0 评论 -
架构期day18-keepalived与nginx常见问题
一、keepalived 脑裂# 由于某些原因,导致两台keepalived高可用服务器在指定时间内,无法检测到对方的心跳,各自取得资源及服务的所有权,而此时的两台高可用服务器又都还活着。备用节点如何知道主节点是否宕机?备用节点一直在PING挂载在主节点的VIP.主节点的VIP会给备用节点会回复PONG,证明主节点并没有宕机。如果主节点没有回复,则备用节点则会启动自己的VIP。1.脑裂的故障1.网线松动,网络故障2.服务器硬件故障3.服务器之间开启了防火墙#脑裂的产生,对于用户端的浏览器原创 2020-12-11 21:30:26 · 581 阅读 · 0 评论 -
架构期day17-keepalived高可用
Keepalived高可用1.什么是高可用一般是指2台机器启动着'完全相同'的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的。## 一般都是搭建在负载均衡。外面增加一个虚拟的MAC地址(VMAC)与虚拟IP地址(VIP).PC仅会在ARP缓存表中记录VMAC与VIP的信息。2.常用的工具1.硬件通常使用 F5 # 太贵了,可拉倒吧2.软件通常使用 keepalived #3.keepalived是如何实现高可用的?VRRP协议'keepa原创 2020-12-11 14:45:15 · 107 阅读 · 1 评论 -
架构期day16-https介绍+http强制跳转到https+转发TCP请求
访问http链接时,自动跳转到https进行安全访问原创 2020-12-11 14:45:36 · 5279 阅读 · 0 评论 -
架构期day15-动静分离与Nginx的Rewrite重写
一、动静分离1.单台机器动静分离[root@web01 ~]# cat /etc/nginx/conf.d/linux.wp.com.conf server { listen 80; server_name linux.wp.com; location / { root /code/wordpress; index index.php; } location ~* \.(jpg|png|gif)$ { root /code/wordpress;原创 2020-12-07 18:54:45 · 188 阅读 · 0 评论 -
架构期day14.1-搭建计划+同步七层、四层负载均衡
项目搭建计划:Wprdpress(博客)、Zhihu(知乎)、PHP(MySQL数据库管理工具)搭建流程:Web搭建项目>>>项目同步至db数据库>>>Web挂载至服务端>>>备份服务端>>>挂载七层负载>>>同步四层负载大体流程规划图:准备机器外网IP内网IP(常用)服务器角色所需服务关联web0110.0.0.7172.16.1.7Client 客户端n原创 2020-12-07 18:57:26 · 557 阅读 · 0 评论 -
架构期day14-四层负载均衡
一、四层负载均衡1.什么是四层负载均衡所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的原创 2020-12-07 18:50:38 · 330 阅读 · 1 评论 -
架构期day13-七层负载均衡与会话保持
一、负载均衡Nginx要实现'负载均衡'需要用到'proxy_pass'代理模块配置Nginx负载均衡与Nginx代理不同地方在于,Nginx的一个location仅能代理一台服务器,而Nginx负载均衡则是将客户端请求代理转发至一组upstream虚拟服务池.1.负载均衡模块# ngx_http_upstream_module#语法Syntax: upstream name { ... }Default: —Context: http# Nginx负载均衡与Nginx代理不同地方原创 2020-12-07 18:45:36 · 449 阅读 · 0 评论 -
架构期day12-代理与负载均衡
一、架构扩展1.数据库迁移1)迁移场景1.配置不足2.服务器寿命到期2.web扩展3.php拆分1)安装php[root@web03 ~]# rz[root@web03 ~]# ll-rw-r--r-- 1 root root 19889622 Nov 22 15:52 php.tar.gz[root@web03 ~]# tar xf php.tar.gz [root@web03 ~]# yum localinstall -y *.rpm2)配置php[root@web03原创 2020-12-07 18:42:50 · 131 阅读 · 0 评论 -
架构期day11-NFS+Rsync+Inotify+Nginx+php
一、回顾1.搭建LNMP环境#搭建nginx1.配置yum源2.安装nginx3.配置nginx4.创建用户5.启动服务#搭建php1.上传服务包2.解压包3.安装本地rpm包4.配置php5.启动#搭建mariadb1.安装2.启动3.连接测试4.设置数据库的用户名密码2.搭建wordpress1.配置nginx2.创建站点目录3.上传代码包4.解压5.授权代码6.重启nginx7.配置hosts访问测试8.数据库建库9.根据页面提示配置数据库原创 2020-12-01 22:45:36 · 334 阅读 · 1 评论 -
架构期day10-LNMP基础搭建部署
一、nginx模块1.目录索引模块[root@web01 ~]# vim /etc/nginx/conf.d/www.autoindex.com.conf server { listen 80; server_name www.autoindex.com; charset utf8; location / { root /code/autoindex; index index.html; } location /dow原创 2020-11-30 21:11:25 · 139 阅读 · 0 评论 -
架构期day9-nginx配置模块与功能
一、nginx回顾1.安装1.epol源安装2.官方源安装3.源码包安装 1)下载 2)解压 3)生成 4)编译 5)安装2.nginx配置文件[root@web01 ~]# cat /etc/nginx/nginx.conf##################核心模块###############user www;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/ru原创 2020-11-27 21:56:39 · 157 阅读 · 0 评论 -
架构期day8-nginx搭建与部署
一、http响应#正常页面200 访问成功,ok301 永久重定向302 临时重定向304 本地缓存307 内部跳转#客户端错误400 客户端错误401 认证失败403 没有文件或者权限不足404 没有找到文件#服务端错误500 后端错误502 连接不到后端503 后端服务器过载504 连接后端服务器超时二、Nginx简介1.nginx特点1.高性能2.高并发3.轻量4.可扩展性5.高可靠性6.支持热部原创 2020-11-26 19:06:58 · 187 阅读 · 0 评论 -
架构期day7-http介绍
HTTP协议一、HTTP协议1.什么是httpHTTP 全称:Hyper Text Transfer Protocol 中文名:超文本传输协议是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。http协议就是将用户的请求发送到服务器,再将服务器返回的内容传输给浏览器,浏览器进行解析,解析成便于人类读取的页面2.什么是超文本包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成原创 2020-11-25 21:37:16 · 323 阅读 · 0 评论 -
架构期day6-SSH安全优化与连接
SSH 远程管理服务一、ssh简介SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有哪些呢?1.提供远程连接服务器的服务 1)linux远程连接协议: ssh服务 端口22 2)windows远程连接: RDP协议 端口33892.对传输的数据进行加密#笔试题:请说明以下服务对应的端口号或者端口对应的服务ssh 22telnet 23http 80https 443ftp 2原创 2020-11-24 19:32:09 · 234 阅读 · 0 评论 -
架构期day5-Rsync解决单点故障、实时同步
一、NFS总结1、NFS优点1.NFS文件系统简单易用,方便部署,数据可靠、服务稳定、满足中小企业需求2.NFS文件系统内,存放的数据都在文件系统之上,所有数据都是能看见的2、NFS缺点1.存在单点故障,如果构建高可用维护麻烦:web>>nfs()>>backup2.NFS数据明文,并不对数据欧任何校验3.客户端挂载NFS服务没有密码验证,安全性一般(内网使用)3、NFS应用建议1.生产场景应将景泰数据尽可能往前端推,减少后端存储压力2.必须将存储里的静态资源原创 2020-11-23 21:42:16 · 264 阅读 · 1 评论 -
架构期day4-NFS服务
NFS 服务一、NFS介绍1.使用NFS解决了什么1.为了实现文件共享2.为了多台服务器之间数据一致2.NFS 原理二、NFS实践1.环境准备主机IP角色web01172.16.1.7NFS客户端nfs172.16.1.31NFS服务端2.服务端(172.16.1.31)1)关闭防火墙和selinux2)安装NFS和rpcbind[root@nfs ~]# yum install -y nfs-utils rpcbind#注意:Cen原创 2020-11-23 08:30:02 · 578 阅读 · 0 评论 -
架构期day3-Rsync结合inotif与NFS介绍
一、Rsync常用参数1.常用参数-a #归档模式传输, 等于-tropgDl -t -r -o -p -g -D -l-v #详细模式输出, 打印速率, 文件数量等-z #传输时进行压缩以提高效率-r #递归传输目录及子目录,即目录下得所有目录都同样传输。-t #保持文件时间信息-o #保持文件属主信息-p #保持文件权限-g原创 2020-11-19 21:15:59 · 223 阅读 · 0 评论 -
架构期day2-备份服务实战
Rsync服务一、备份1.什么是备份?备份就是把重要的数据或者文件复制一份保存到另一个地方2.为什么做备份?数据在公司中是很重要!!!!备份就是为了恢复3.能不能不做备份对于重要的数据一定要备份对于不重要的数据可以不备份或者备份一部分4.备份的工具本地备份:cp远程备份:scp rsync二、rsync服务介绍1.简介rsync英文称为remote synchronizetion,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜原创 2020-11-18 22:45:25 · 159 阅读 · 0 评论 -
架构期day1-架构介绍
期中架构篇一、名词介绍1.项目:针对游戏公司,每一个游戏就是一个项目;针对互联网行业,一个公司就是一个项目;2.架构:维护一个项目的所有组件组成的一个整体lnmp:linux、nginx、mysql(mariadb)、php(python)lnmt:linux、nginx、mysql(mariadb)、tomcat(java)lamt:linux、apache、mysql(mariadb)、tomcat(java)lamp:linux、apache、mysql(mariadb)、php(pyt原创 2020-11-18 14:49:15 · 232 阅读 · 1 评论