集群架构
重中之中,中重之重,架构之梦
FikL-09-19
人的旅途就是这样 有大把时间是迷茫在这瞬间。
展开
-
nginx动静分离与资源分离
nginx动静分离[root@pingweb01 ~]# cd /mm/[root@pingweb01 mm ]# cat mm.php <?php$arr=range(1,10);shuffle($arr);foreach($arr as $values){ echo $values." ";}?>[root@pingweb01 ~]# cd /mm/[root@web01 mm]# cat index.php <?phpecho '<!DOCTYPE原创 2021-05-07 19:50:53 · 102 阅读 · 0 评论 -
rsync --实时同步脚本
需求客户端:1.客户端提前准备存放的备份的⽬录,⽬录规则如下:/bak/nfs_172.16.1.31_2018-09-022.客户端在本地打包备份(系统配置⽂件、应⽤配置等)拷⻉⾄/bak/nfs_172.16.1.31_2018-09-023.客户端最后将备份的数据进⾏推送⾄备份服务器4.客户端每天凌晨1点定时执⾏该脚本5.客户端服务器本地保留最近7天的数据, 避免浪费磁盘空间服务端需求:1.服务端部署rsync,⽤于接收客户端推送过来的备份数据2.服务端需要每天校验客户端推送过原创 2021-04-19 22:58:07 · 374 阅读 · 0 评论 -
discuz+https+serysnc+backup
作业 – 05-061.部署discuz,实现伪静态2.实现https3.实现实时备份web01 搭建discuz论坛1.web01搭建discuz论坛1、创建站点目录[root@web01 ~]# mkdir /mm/discuz2、解压代码1.上传代码包[root@web01 ~]# rz[root@web01 ~]# ll-rw-r--r--. 1 root root 10829853 Dec 7 12:04 Discuz_X3.3_SC_GBK.zip3.解压[原创 2021-05-08 00:20:07 · 337 阅读 · 0 评论 -
nginx动静分离和资源隔离的网站搭建
| 作业nginx动静分离和资源隔离的网站搭建一、动静分离的网站0.准备环境主机IP主机角色条件web01192.168.15.7Android页面关闭防火墙和selinuxweb02192.168.15.8iPhone页面关闭防火墙和selinuxlb01192.168.15…5 172.16.1.5负载均衡关闭防火墙和selinux1.静态资源1.1.上传静态资源 ## 创建目录 mkdir /mm/pictur原创 2021-05-06 21:46:45 · 195 阅读 · 0 评论 -
nginx的autoindex模块 --yum源
nginx模块nginx的autoindex模块ngx_http_autoindex_module,作用是生成一个目录列表 #含义## 格式Syntax: autoindex on | off; # 该选项的参数Default: autoindex off; # 该选项的默认值Context: http, server, location # 该选项可以使用的模块案例 (部署一个yum仓库)#1.安装软件[root@pingweb01 mm]# yum -y install原创 2021-04-28 09:03:20 · 147 阅读 · 0 评论 -
LNMP真正搭建
项目:实现LNMP共享备份# web01+web02+web03 # web集群# nfs+backup #sersync 实时共享# db01 #数据共享backup机器 (rsync脚本)1、拆分机器机器的主机名外网IP内网IP条件安装软件db01192.168.15.51(不需要)172.16.1.51关闭防火墙、selinuxmariadb-serverweb01192.168.15.7172.16.1.原创 2021-04-30 14:04:20 · 110 阅读 · 0 评论 -
@中期架构搭建 - - lnmp+keepalived+ 显示error页面
作业 – lnmp+keepalived+ 显示error页面实现整站https部署discuz实现lb01和lb02故障转移错误页面显示HTTPS全站lnmp+keepalived+显示error页面| 环境准备主机内网IP外网IP身份条件web01172.16.1.7web服务器关闭selinux和防火墙web02172.16.1.8web服务器-backup172.16.1.41rsync服务器-nfs172.16原创 2021-05-12 14:32:44 · 183 阅读 · 3 评论 -
nfs 实时共享
一 、nfs实时共享##### 1.环境准备| 主机 | IP | 主机角色 | 条件 || ---------- | ------------------------ | ---------------------- | ------------------- || pingweb01 | 192.168.15.7 172.16.1.7 | nfs服务端、rsync客户端 | 关原创 2021-04-21 20:44:13 · 174 阅读 · 0 评论 -
全站 https搭建discuz并实现lb01和lb02keepalived高可用故障转移
作业 – 05.8实现整站https部署discuz实现lb01和lb02故障转移实现整站https一、多台HTTPS配置 — 假证书1.检查nginx[root@web01 ~]# nginx -V--with-http_ssl_module ---有这个模块是支持2.创建证书存放目录[root@web01 ~]# mkdir /etc/nginx/ssl_key[root@web01 ~]# cd /etc/nginx/ssl_key/3.造假证书# 1、生成原创 2021-05-08 23:08:25 · 479 阅读 · 3 评论 -
Nginx搭建与部署 --04
一、nginx常用模块1、目录索引模块# ngx_http_autoindex_modulengx_http_autoindex_module模块处理以斜杠字符('/')结尾的请求,并生成目录列表。当ngx_http_index_module模块找不到索引文件时,通常会将请求传递给ngx_http_autoindex_module模块。1.语法 Syntax: autoindex on | off;Default: autoindex off;Context: http, serve原创 2022-01-03 18:26:56 · 320 阅读 · 0 评论 -
rsync 参数 --01
架构-- rsync一 、主机名字与网卡修改脚本[root@nfs ~]# cat zhuji.sh #!/bin/bashhostnamectl set-hostname $1sed -i "s#41#$2#g" /etc/sysconfig/network-scripts/ifcfg-eth0sed -i "s#41#$2#g" /etc/sysconfig/network-scripts/ifcfg-eth1systemctl restart network二 、rsync (做备份原创 2021-12-21 16:52:13 · 531 阅读 · 0 评论 -
Ansible Roles一键搭建期中架构
### 一、ansible重构playbook| 环境准备| 主机 | 内网IP | 外网IP | 身份 | 条件 || :----: | :---------: | :----------: | :---------: | :-----------------: || web01 | 172.16.1.7 | | web服务器 | 关闭selinux和防火墙 || web02 | 172原创 2021-05-30 10:56:49 · 203 阅读 · 0 评论 -
Ansible Roles 一键完成LNMP
Ansible Roles一、Ansible Roles基本概述1.Ansible Roles介绍roles不管是Ansible还是saltstack,我在写一键部署的时候,都不可能把所有的步骤全部写入到一个'剧本'文件当中,我们肯定需要把不同的工作模块,拆分开来,解耦,那么说到解耦,我们就需要用到roles官方推荐,因为roles的目录结构层次更加清晰。例如:我们之前推荐大家写一个lnmp.yml里面写所有基础优化的项目,其实把所有东西摞进去也是很鸡肋的,不如我们把这些功能全部拆分开,谁需要使用原创 2021-05-10 00:41:45 · 246 阅读 · 1 评论 -
Ansible Jinja2 模板概述 --01
Ansible Jinja2 模板概述一、jinja2模板概述#什么是jinja2模板jinja2是Python的全功能模板引擎,模#Jinja2与Ansible啥关系Ansible通常会使用jinja2模板来修改被管理主机的配置文件等...在saltstack中同样会使用到jinja2如果在100台主机上安装redis,每台redis的监听地址都不一样,如何解决?#Ansible如何使用Jinja2使用Ansible的jinja2模板也就是使用template模块,该模块和copy模块原创 2021-05-09 15:28:31 · 366 阅读 · 0 评论 -
Ansible playbook复用 - -01
Ansible playbook一、playbook 任务标签1.标签的作用默认情况下,Ansible在执行一个playbook时,会执行playbook中定义的所有任务,Ansible的标签(tag)功能可以给单独任务甚至整个playbook打上标签,然后利用这些标签来指定要运行playbook中的个别任务,或不执行指定的任务。2.打标签的方式1.对一个task打一个标签2.对一个task打多个标签3.对多个task打一个标签3.对一个task打一个标签- hosts: nginx原创 2021-05-08 23:15:21 · 784 阅读 · 7 评论 -
Ansible 流程控制 -- 01
Ansible 流程控制一、playbook 条件语句不管是shell还是各大编程语言中,流程控制,条件判断这些都是必不可少的,在我们使用Ansible的过程中,条件判断的使用频率极其高。例如:1.我们使用不同的系统的时候,可以通过判断系统来对软件包进行安装。2.在nfs和rsync安装过程中,客户端服务器不需要推送配置文件,之前我们都是写多个play,会影响效率。3.我们在源码安装nginx的时候,执行第二遍就无法执行了,此时我们就可以进行判断是否安装过。1.判断系统# ansible判原创 2021-05-08 11:47:14 · 131 阅读 · 0 评论 -
Ansible 剧本变量 -01
Ansible 剧本变量一、变量的介绍1.概述变量提供了便捷的方式来管理Ansible playbook的每一个项目中的动态值,比如nginx-1.6.3这个软件包的版本,在其它地方或许会反复使用,那么如果将此值设置为变量,然后再在其他的playbook中调用,会方便许多。如此一来还方便维护,减少维护的成本。2.定义变量的方式1.通过命令行进行变量定义2.在play文件中进行变量定义3.通过Inventory主机清单中进行变量定义4.通过vars_file定义变量5.通过hosts_va原创 2021-05-07 09:37:08 · 530 阅读 · 0 评论 -
nginx 源码安装
nginx 源码安装1.下载源码包# nginx.orgwget http://nginx.org/download/nginx-1.20.0.tar.gz2.解压tar xf nginx-1.20.0.tar.gz -C /opt/3.编译检查[root@pingweb03 opt]# cd nginx-1.20.0/[root@pingweb03 nginx-1.20.0]# ./configure # 安装所需要的包 [root@pingweb03 nginx-1.20原创 2021-04-27 10:08:57 · 86 阅读 · 0 评论 -
php 源码安装
php 源码安装1.下载源码包# php.netwget https://www.php.net/distributions/php-5.6.40.tar.gz2.解压tar xf php-5.6.40.tar.gz -C /opt/3.编译检查 [root@pingweb03 opt]# cd php-5.6.40/ [root@pingweb03 php-5.6.40]# ./configure # 安装所需要的包 [root@pingweb03 php-5.6.原创 2021-04-26 23:01:13 · 344 阅读 · 0 评论 -
Ansible playbook 实战 - 02
Ansible playbook 实战一、基础准备主机外网内网部署服务m01192.168.15.161172.16.1.161ansiblelb01192.168.15.105172.16.1.105nginxweb01172.16.1.107nginx+php+rpcbindweb02172.16.1.108nginx+php+rpcbinddb01172.16.1.151mariadbnfs172.16.1.1原创 2021-04-19 10:05:41 · 93 阅读 · 2 评论 -
Ansible 的 Playbook -01
Ansible 的 Playbook一、playbook 概述1.什么是playbookPlayBook即"剧本","兵书"之意,PlayBook是由以下部分组成的play(host): 定义的是主机的角色。(主角还是配角)Book(task): 定义的是具体执行的任务。(角色的台词和动作)playbook: 由一个或多个play(角色)组成,一个play(角色)可以包含多个task(台词,动作)。简单理解为: 对不同的主机使用很多不同的模块来完成一件事(一个电影)在Ansible中"原创 2021-04-17 23:42:28 · 148 阅读 · 0 评论 -
Ansible - 05
一、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 =>原创 2021-04-17 14:28:28 · 134 阅读 · 0 评论 -
Ansible - 04
Ansible一、 ansible 服务管理模块1.service[root@m01 ~]# ansible-doc serviceEXAMPLES:- name: Start service httpd, if not started service: name: httpd state: started name: nginx #服务名字state: started #启动服务 stopped #停止服务 restarted #重启服务原创 2021-04-17 12:57:34 · 117 阅读 · 0 评论 -
Ansible - 03
ansible模块ad-hoc常用模块coansibleand # 执行shell命令(不支持管道等特殊字符)shell # 执行shell命令script # 远程执行shell脚本yum_repository # 配置yum仓库yum # 安装软件copy # 变更配置文件file # 创建目录或文件service原创 2021-04-16 20:08:55 · 112 阅读 · 0 评论 -
Ansible - 02
Ansible ad-hoc一、ad-hoc概述1.什么是ad-hocad-hoc 相当于"远程临时执行命令",执行完即结束,并不会保存2. 使用场景比如在多台机器上查看某个进程是否启动,或拷贝指定文件到本地,等等临时使用的命令,一次使用3.ad-hoc模式的命令使用# 珍贵的例子`查看 web01 主机的内存使用率[root@m01 ~]# ansible 'web01' -m shell -a 'free -m'web01 | CHANGED | rc=0 >>原创 2021-04-16 20:06:08 · 314 阅读 · 0 评论 -
Ansible - 01
Ansible一、Ansible 概述Ansible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。2.自动化工具1. puppet 学习难,安装ruby环境难,没有远程执行功能2. ansible 轻量级,大规模环境下只通过ssh会很慢,串行的,也会有小量的并行。# ansible 安装方式 yum install -y ansible3. saltstack原创 2021-04-15 11:24:02 · 269 阅读 · 0 评论 -
iptables防火墙 - 01
Iptables防火墙一、Iptables防火墙概述1.应用场景1.主机安全2.内部共享上网3.端口或IP转发2.iptables注意事项1.匹配规则是从上往下依次执行的2.只要匹配到某一条规则,就不会在往下执行3.如果都没有匹配到规则,就执行默认规则4.默认规则最后执行,默认允许所有5.经常使用的规则尽量往前放二、iptables四表五链1.四表五链#四表:filter表——过滤数据包Nat表——用于网络地址转换(IP、端口)Mangle表——修改数据包的服务类型、T原创 2021-04-13 17:34:39 · 171 阅读 · 0 评论 -
firewalld 防火墙 - 02
一、防火墙富规则firewalld中的富规则更有针对性,优先级在所有的防火墙策略中也是最高的,下面为firewalld富语言规则帮助手册[root@ web01 ~]# man firewall-cmd[root@ web01 ~]# man firewalld.richlanguage rule [source] [destination] service|port|protocol|icmp-block|icmp-type|masqu原创 2021-04-13 00:22:04 · 157 阅读 · 0 评论 -
firewalld预防火墙 - 01
防火墙管理 - 01一、防火墙基本概述 (firewalld)在CentOS7系统中集成了多款防火墙管理工具,默认启用的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及GUI(图形)的两种管理方式。对于接触Linux较早的人员对Iptables比较熟悉,但由于Iptables的规则比较的麻烦,并且对网络有一定要求,所以学习成本较高。但firewalld的学习对网络并没有那么高的要求,相对iptables来说要简单不少,所以建议刚接触CentOS7系原创 2021-04-12 22:07:49 · 285 阅读 · 0 评论 -
php 优化 - 01
一、PHP优化1.配置PHP页面root@web01 conf.d]# vi linux12.phpserver.com.confserver { listen 80; server_name linux12.phpserver.com; root /mm/phpserver; index index.php; location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_p原创 2021-04-12 17:54:19 · 84 阅读 · 0 评论 -
Nginx 优化 -04
Nginx优化一、跨域访问1.盗链和跨域的区别盗链是由盗链的网站向被盗链的网站发起get请求获取内容跨域是由跨域的网站向被跨域的网站发起一个完整http请求,甚至是完全跳转2.配置被跨域的网站[root@web01 conf.d]# vim linux12.beikuayu.com.confserver { listen 80; server_name linux12.beikuayu.com; location / { root /mm;原创 2021-04-12 16:07:46 · 118 阅读 · 0 评论 -
Nginx 优化 -03
Nginx优化一、静态资源优化1.静态资源2.静态资源缓存1.Etag:服务器上的文件唯一标示2.Last-Modified:服务器上的文件最后修改时间3.Expires:文件缓存过期时间4.Cache-Control:文件多久过期5.If-None-Match:浏览器上的文件唯一标示6.If-Modified-Since:浏览器上的文件最后修改时间1、配置缓存过期时间# 模块 ngx_http_headers_module.html (默认开启的)#语法原创 2021-04-11 22:36:06 · 112 阅读 · 0 评论 -
Nginx优化 - 02
一、系统优化1.文件句柄优化–可打开的最大文件数量# 1、查看文件句柄数设置[root@lb01 ~]# ulimit -n1024# 2.查看打开的文件句柄数 (安装lsof软件)[root@lb01 ~]# lsof | wc -l3061[root@web01 ~]# lsof | wc -l5060# 3.查看指定服务的打开文件句柄数[root@web01 ~]# lsof -p 31491 | wc -l #31491 :查看同一个服务打开的所有文件数是多少原创 2021-04-10 22:07:17 · 159 阅读 · 0 评论 -
Nginx优化 - 01
Nginx优化一、什么是优化1.了解知识1、首先需要了解我们当前系统的结构和瓶颈,了解当前使用的是什么,运行的是什么业务,都有哪些服务,了解每个服务最大能支撑多少并发。比如nginx作为静态资源服务并发是多少,最高瓶颈在哪里,能支持多少qps(每秒查询率)的访问请求,那我们怎么得出这组系统结构瓶颈呢,比如top查看系统的CPU负载、内存使用率、总得运行进程等,也可以通过日志去分析请求的情况,当然也可以通过我们前面介绍到的stub_status模块查看当前的连接情况,也可以对线上的业务进行压力测试(低峰原创 2021-04-10 22:04:20 · 136 阅读 · 0 评论 -
Nginx常见问题 - 02
Nginx常见问题一、server优先级 --回顾1.首先选择所有的字符串完全匹配的server_name。(完全匹配)2.选择通配符在前面的server_name,如mm.xin.com mm.xin3.选择通配符在后面的server_name,如mm.xin.com driverzeng.cn4.最后选择使用正则表达式匹配的server_name5.如果全部都没有匹配到,那么将选择在listen配置项后加入[default_server]的server块6.如果没写,那么就找到匹配lis原创 2021-04-10 17:53:15 · 784 阅读 · 0 评论 -
Nginx常用问题 -01
Nginx常见问题一、nginx多server优先级在开始处理一个http请求时,nginx会取出header头中的Host变量(域名),与nginx.conf中的每个server_name进行匹配,以此决定到底由哪一个server来处理这个请求,但nginx如何配置多个相同的server_name,会导致server_name出现优先级访问冲突。1.准备多个配置文件[root@web01 conf.d]# cat server1.conf server { listen 80;原创 2021-04-10 15:39:00 · 281 阅读 · 0 评论 -
keepalived高可用 -04
keepalived高可用一、高可用keepalived与nginxNginx默认监听在所有的IP地址上,VIP会飘到一台节点上,相当于那台nginx多了VIP这么一个网卡,所以可以访问到nginx所在机器如果nginx宕机,会导致用户请求失败,但是keepalived没有挂掉不会进行切换,所以需要编写一个脚本检测Nginx的存活状态,如果不存活则kill掉keepalived1.nginx故障切换脚本[root@lb01 ~]# vim check_web.sh#!/bin/shngin原创 2021-04-10 13:55:58 · 86 阅读 · 1 评论 -
keepalived高可用 -03
keepalived高可用一、keepalived 脑裂 (增大服务器压力)# 由于某些原因,导致两台keepalived高可用服务器在指定时间内,无法检测到对方的心跳,各自取得资源及服务的所有权,而此时的两台高可用服务器又都还活着。备用节点如何知道主节点是否down机?备用节点一直在PING挂载在主节点的VIP.主节点的VIP会给备用节点会回复PONG,证明主节点并没有宕机。如果主节点没有回复,则备用节点则会启动自己的VIP。1.脑裂的故障1.网线松动,网络故障2.服务器硬件故障3.原创 2021-04-10 13:53:28 · 133 阅读 · 1 评论 -
keepalived高可用 -02
一、keepalived高可用1.环境准备主机 IP 身份lb01 10.10.0.5 keepalived masterlb02 10.10.0.6 keepalived backupweb01 172.16.1.7 web端web02 172.16.1.原创 2021-04-09 17:26:30 · 83 阅读 · 0 评论 -
keepalived高可用 -01
keepalived高可用一、keepalived介绍1.什么是高可用2台机器运行着'一模一样'的业务系统,当有一台机器down机了,另外一台能够快速接管工作。## 一般都是搭建在负载均衡使用。# 外面增加一个虚拟的MAC地址(VMAC)与虚拟IP地址(VIP) PC仅会在ARP缓存表中记录VMAC与VIP的信息。2.常用的工具1.软件 keepalived2.硬件 F5 # 价格昂贵3.keepalived是如何实现高可用的?VRRP协议'keepalived软件是基原创 2021-04-09 17:23:45 · 131 阅读 · 0 评论