当前位置: 首页 > news >正文

广州十度网络网站开发最好公司网站开发怎么入账

广州十度网络网站开发最好,公司网站开发怎么入账,绿色网站欣赏,简述php网站开发流程keepalived VRRP介绍 集群#xff08;cluster#xff09;技术是一种较新的技术#xff0c;通过集群技术#xff0c;可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益#xff0c;其任务调度则是集群系统中的核心技术。 集群组成后#xff0c;可…keepalived  VRRP介绍 集群cluster技术是一种较新的技术通过集群技术可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益其任务调度则是集群系统中的核心技术。 集群组成后可以利用多个计算机和组合进行海量请求处理**负载均衡**从而获得很高的处理效率也可以用多个计算机做备份高可用使得任何一个机器坏了整个系统还是能正常运行。 keepalived工作原理     keepalived是以VRRP协议为实现基础的VRRP全称Virtual Router Redundancy Protocol即虚拟路由冗余协议。     虚拟路由冗余协议可以认为是实现路由器高可用的协议即将N台提供相同功能的路由器组成一个路由器组这个组里面有一个master和多个backupmaster上面有一个对外提供服务的vip该路由器所在局域网内其他机器的默认路由为该vipmaster会发组播当backup收不到vrrp包时就认为master宕掉了这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。 keepalived主要有三个模块分别是core、check和vrrp。core模块为keepalived的核心负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。 脑裂  split barin Keepalived的BACKUP主机在收到不MASTER主机报文后就会切换成为master如果是它们之间的通信线路出现问题无法接收到彼此的组播通知但是两个节点实际都处于正常工作状态这时两个节点均为master强行绑定虚拟IP导致不可预料的后果这就是脑裂。 解决方式: 1、添加更多的检测手段比如冗余的心跳线两块网卡做健康监测ping对方等等。尽量减少裂脑发生机会。(指标不治本只是提高了检测到的概率) 2、设置仲裁机制。两方都不可靠那就依赖第三方。比如启用共享磁盘锁ping网关等。(针对不同的手段还需具体分析) 3、爆头将master停掉。然后检查机器之间的防火墙。网络之间的通信 Nginxkeepalived实现七层负载均衡 Nginx通过Upstream模块实现负载均衡 upstream支持的负载均衡算法 主机清单 主机名IP系统用途Proxy-master172.16.147.155centos7.5主负载Proxy-slave172.16.147.156centos7.5主备Real-server1172.16.147.153Centos7.5web1Real-server2172.16.147.154centos7.5Web2Vip for proxy172.16.147.100 配置安装nginx 所有的机器关闭防火墙和selinux [rootproxy-master ~]# systemctl stop firewalld //关闭防火墙 [rootproxy-master ~]# sed -i s/^SELINUX.*/SELINUXdisabled/ /etc/sysconfig/selinux //关闭selinux重启生效 [rootproxy-master ~]# setenforce 0         //关闭selinux临时生效 安装nginx 全部4台 [rootproxy-master ~]# cd /etc/yum.repos.d/ [rootproxy-master yum.repos.d]# vim nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck0 enabled1 [rootproxy-master yum.repos.d]# yum install yum-utils -y [rootproxy-master yum.repos.d]# yum install nginx -y 一、实施过程  1、选择两台nginx服务器作为代理服务器。 2、给两台代理服务器安装keepalived制作高可用生成VIP 3、配置nginx的负载均衡 # 两台配置完全一样 [rootproxy-master ~]# vim /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events {worker_connections 1024; } http {log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for;access_log /var/log/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;include /etc/nginx/conf.d/*.conf;upstream backend {server 172.16.147.154:80 weight1 max_fails3 fail_timeout20s;server 172.16.147.153:80 weight1 max_fails3 fail_timeout20s;}server {listen 80;server_name localhost;location / {proxy_pass http://backend;proxy_set_header Host $host:$proxy_port;proxy_set_header X-Forwarded-For $remote_addr;}} } keepalived实现调度器HA 注主/备调度器均能够实现正常调度 1. 主/备调度器安装软件 [rootproxy-master ~]# yum install -y keepalived [rootproxy-slave ~]# yum install -y keepalived [rootproxy-master ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak [rootproxy-master ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs {router_id directory1 #辅助改为directory2 }vrrp_instance VI_1 {state MASTER #定义主还是备interface ens33 #VIP绑定接口virtual_router_id 80 #整个集群的调度器一致priority 100 #back改为50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.16.147.100/24 # vip} }[rootproxy-slave ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak [rootproxy-slave ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs {router_id directory2 }vrrp_instance VI_1 {state BACKUP #设置为backupinterface ens33nopreempt #设置到back上面不抢占资源virtual_router_id 80priority 50 #辅助改为50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.16.147.100/24} } 启动KeepAlived主备均启动 [rootproxy-master ~]# systemctl enable keepalived [rootproxy-slave ~]# systemctl start keepalived [rootproxy-master ~]# ip a 1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet 172.16.147.100/32 scope global lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:ec:8a:fe brd ff:ff:ff:ff:ff:ffinet 172.16.147.155/24 brd 172.16.147.255 scope global noprefixroute dynamic ens33valid_lft 1115sec preferred_lft 1115secinet 172.16.147.101/24 scope global secondary ens33valid_lft forever preferred_lft forever 可以解决心跳故障keepalived 不能解决Nginx服务故障 扩展对调度器Nginx健康检查可选两台都设置 思路 让Keepalived以一定时间间隔执行一个外部脚本脚本的功能是当Nginx失败则关闭本机的Keepalived (1) script [rootproxy-master ~]# vim /etc/keepalived/check_nginx_status.sh #!/bin/bash /usr/bin/curl -I http://localhost /dev/null if [ $? -ne 0 ];then # /etc/init.d/keepalived stopsystemctl stop keepalived fi [rootproxy-master ~]# chmod ax /etc/keepalived/check_nginx_status.sh (2). keepalived使用script ! Configuration File for keepalivedglobal_defs {router_id director1 } vrrp_script check_nginx {script /etc/keepalived/check_nginx_status.shinterval 5 }vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 80priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.246.16/24}track_script {check_nginx} } 注必须先启动nginx再启动keepalived 客户端访问的是虚拟VIP由虚拟vip去连接负载均衡的ip让负载均衡去访问后端的nginx页面。而keepalived是提供VIP的服务器分为主备当主服务器的keepalived开启时 那么VIP就会在主服务器上。只有当主服务器的keepalived关闭时VIP才会飘向备服务器客户端访问的才是备负载均衡服务器的内容。          但是当主负载均衡服务器的nginx关闭时不会影响vip的存在他还会在主负载均衡服务器上但是客户端访问的 时候会显示拒绝连接因为vip是与负载均衡服务器的IP连接的他是去找她的。 MySQLKeepalived 项目环境 IP1192.168.231.185    keepalivedmaster IP2192.168.231.187   keepalivedsalve VIP192.168.231.66 俩台机器都做相同的操作 安装MySQL # yum -y install mysql-server mysql启动myslqd # systemctl start mysqld查看密码修改密码 grep password /var/log/mysqld.log修改密码 mysqladmin -uroot -p旧密码 password 新密码登录MySQL mysql -ppassword创建远程登录这俩台mysql的用户grant all on *.* to root% identified by Qianfeng123!; 为了体现实验结果 在IP1的数据库上创建数据库db1IP2不创建数据库。 IP1创建新数据库 create database db1;mysql show databases; -------------------- | Database | -------------------- | information_schema | | db1 | | mysql | | performance_schema | | sys | -------------------- 5 rows in set (0.00 sec)安装keepalived 俩台机器安装keepalived [rootmysql-keepalived-master ~]# yum -y install keepalived [rootmysql-keepalived-slave ~]# yum -y install keepalived 修改配置文件 192.168.231.185的配置文件 # vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs {router_id master } vrrp_instance VI_1 {state MASTER #定义主还是备interface ens33 #VIP绑定接口virtual_router_id 89 #整个集群的调度器一致priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.231.66/24 #定义的虚拟ip VIP} }192.168.231.187配置文件 ! Configuration File for keepalivedglobal_defs {router_id backup } vrrp_instance VI_1 {state BACKUP #设置成backupnopreempt #设置到back上面不抢占资源interface ens33virtual_router_id 89priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.231.66/24 #虚拟VIP} } 主备同时启动keepalived [rootproxy-master ~]# systemctl enable keepalived [rootproxy-slave ~]# systemctl start keepalived 查看IP [rootlocalhost ~]# ip a 1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:b5:2b:5c brd ff:ff:ff:ff:ff:ffinet 192.168.231.185/24 brd 192.168.231.255 scope global noprefixroute dynamic ens33valid_lft 1348sec preferred_lft 1348secinet 192.168.231.66/24 scope global secondary ens33valid_lft forever preferred_lft forever远程登录MySQL 在第三台拥有MySQL的服务器上进行远程登录MySQL mysql -uroot -pQianfeng123! -h192.168.231.66 -P3306-p密码是之前在俩台服务器创建的用户 -h的IP是虚拟vip -p是MySQL的端口3306 当IP1keepalived开启MySQL开启时此时VIP在IP1上  查询到的是MySQL1 mysql show databases; -------------------- | Database | -------------------- | information_schema | | db1 | | mysql | | performance_schema | | sys | -------------------- 5 rows in set (0.00 sec)当IP1keepalived关闭IP1的MySQL开启时此时VIP在IP2上  查询到的是MySQL2 mysql show databases; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql show databases; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 18 Current database: *** NONE ***-------------------- | Database | -------------------- | information_schema | | mysql | | performance_schema | | sys | -------------------- 4 rows in set (0.01 sec)###连接到IP1的数据库切换到IP2的数据库上 当IP1keepalived关闭IP1的MySQL开启时此时VIP在IP2上接着将IP1的keepalived开启那么此时vip会跑到IP1上  查询到的是 MySQL1 mysql show databases; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 4 Current database: *** NONE ***-------------------- | Database | -------------------- | information_schema | | db1 | | mysql | | performance_schema | | sys | -------------------- 5 rows in set (0.01 sec)当IP1的keepalived开启IP1的MySQL开启此时关闭IP1的MySQL那么VIP还是在IP1上那么此时查询到的数据库是 无法连接 mysql show databases; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql show databases; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... ERROR 2003 (HY000): Cant connect to MySQL server on 192.168.231.66 (111) ERROR: Cant connect to the server此时将IP1的keepalived也停掉那么VIP会飘逸到IP2上此时查询到的数据库是 MySQL2 mysql show databases; No connection. Trying to reconnect... Connection id: 19 Current database: *** NONE ***-------------------- | Database | -------------------- | information_schema | | mysql | | performance_schema | | sys | -------------------- 4 rows in set (0.00 sec) 因此也就是说 客户端访问的是虚拟VIP由虚拟vip去连接后端的MySQL。而keepalived是提供VIP的服务器分为主备当主服务器的keepalived开启时 那么VIP就会在主服务器上。只有当主服务器的keepalived关闭时VIP才会飘向备服务器客户端访问的才是备服务器的内容。          但是当主服务器的MySQL关闭时不会影响vip的存在他还会在主服务器上但是客户端访问的 时候会显示拒绝连接因为vip是与MySQL服务器的IP连接的他是去找她的。 在企业生产环境中我们不可能一直在观察MySQL与keepalived的状态那么我们需要使用脚本但是脚本多久执行一次 回花费大量精力这时候我们可以将脚本放至keepalived的配置文件中。只要检查到服务器的MySQL关闭那么就会停止该服务器的keepalived。让其他服务器工作从而保证了高可用 脚本 vim keepalived_check_mysql.sh #!/bin/bash /usr/bin/mysql -uroot -pQianFeng2019! -e show status /dev/null if [ $? -ne 0 ] ;then # service keepalived stopsystemctl stop keepalived fi ~ 在keepalived的配置文件中引用 ! Configuration File for keepalivedglobal_defs {router_id master } vrrp_script check_run { ####定义脚本script /etc/keepalived/keepalived_chech_mysql.shinterval 5 }vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 89priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.231.66/24}track_script { ####引用脚本} }实验过程遇到的错误 虚拟IP是自己提供的避免虚拟ip在其他服务器上已经存在的情况      脚本的引用可以不使用引号或者使用双引号
http://www.hkea.cn/news/14583648/

相关文章:

  • 要建立网站和账号违法违规行为数据库和什么黑名单建站软件排名
  • 网站建设费会计分录隆昌网站建设
  • 家具网站案例珠海网站制作首页
  • 做网站用vue吗建网站前途
  • 东莞网站没计音乐网站建设程序
  • 网站建设项目安排计划表深圳手机端网站建设收费
  • 备案 网站名国家公示企业信息查询官网
  • 番禺区大石做网站线上营销的优势和劣势
  • 专业网站建设平台建设网站有什么要素构成
  • 一个人制作网站泉州外贸网站开发公司
  • 宁波网站建设模板制作wordpress文章图片默认居中
  • 街道网站建设更新汇报常德小程序开发公司
  • 阿里云做网站需要环境网站的建设方法包括什么问题
  • 佛山行业网站建设顶棒 技术支持 东莞网站建设
  • 开封 网站建设 网络推广怎么用新浪云做网站
  • 网站模板下载之后怎么做.net 网站生成安装文件目录
  • 深圳网站建设电话咨询室内设计网页
  • 网站大专朝阳区seo搜索引擎优化介绍
  • 站长网站被跳转怎么办手工做皮具国外的网站
  • 漯河装修公司网站建设网络培训资格证书如何获得
  • 石家庄电子商务网站建设青岛建设网站设计公司
  • 当今做啥网站致富南昌地宝网二手房
  • 哪个网站是专做宝宝饭的在哪个网站上做实验仪器比较好
  • 药物研发网站怎么做新冠排名前十名
  • 男女做羞羞视频网站青岛电子商务的网站建设
  • 唐山市建设网站上海建设工程 U盘登录哪个网站
  • 廊坊高端品牌网站建设网站建设的内部风险分析
  • 凡科网站怎么做python做公司网站
  • 游戏推荐网站怎么做网站建设中倒计时模板下载
  • 秒收录网站有哪些网址大全下载安装