nginx实现负载均衡的代理转发 最近在部署客户环境时,遇到一个配置问题,需要做两个服务的整体代理转发,两台服务器上有完全的相同的两个后台服务,实现的是完全一样的功能,但是提供给第三方的接口,只能有一个服务器的IP地址,于是就想到了nginx代理做负载均衡代理。nginx服务在三个节点都部署,在nginx的配置文件中增加一个3305的端口来代理原本mysql的3306的服务,如下图。节点A:10.186.2.96 后台服务的端口20228。节点B:10.186.2.95 后台服务的端口20228。pxc集群的三个节点为。
keepalived+nginx实现的简单高可用故障转移 最近研究了一下keepalived绑定虚拟Ip,然后实现集群的方案,发现实现故障转移的模式,只有在keepalived服务整个挂掉后才能实现虚拟IP的漂移,和实际应用的场景不怎么适配,所以把它和nginx结合在一起实现集群高可用,比较有实际意义,因为nginx是无状态的服务,我们几乎很多的应用都是通过nginx来实现的转发和接收请求,一般把nginx当做面向客户的最后一层,如果nginx出现故障,说明整个服务都将不可用了,这时候把虚拟IP切换到另外一个节点就很有必要了。
centos系统网络相关命令详解--遇到的一些乌龙事件 比如说你有lo,eth1,eth2三块网卡,你想修改eth1的配置。那么如果eth1配置有问题的话,就只会eth1有问题,其他网卡服务不会因此而中断。所以,ifup,ifdown在我们做网络配置的时候,还是很有用的。当时没懂,后来才明白他的意思。,直接把网卡down掉,要停掉后顺便启动网卡*,直接断掉后,网络连接中断,远程连接就被迫中断了,就需要现场的人来恢复连接,交付的人不在现场就呜呜呜了·············最近处理项目现场问题时,遇到了很多网络方面的问题,所以特地查询了一下关于网络的相关命令;
mysql的sql语句执行常见的1064错误的来源 结果是我把这个sql放到的wps中,保存了一下,再拷贝到SQLLog里面执行的时候,那个空格的格式和原本的空格格式就不一样了,所以以后还是要把SQL单独保存到txt文件里面,用notepad++打开,这样才能完全不改变sql文件的内容格式。
docker的网络模式认识 虚拟机中的NAT模式,容器有独立的命名空间。网络方面,宿主机中虚拟一个docker容器网桥,docker启动一个容器时会根据docker网桥的网段分配给容器一个ip地址,叫container-ip,这个虚拟的docker网桥也是每个容器的默认网关,因为在同一宿主机中的容器都接入的是同一个虚拟网桥,这样就达到了容器之间通过。直接使用宿主的IP地址和外界通信,容器内部端口可以使用宿主端口,不需要进行NAT,优势就是网络性能好,但是网络隔离性不好,容器使用的端口就不能再用了。
PXC模式的mysql集群整体断电后恢复正常运行的技巧 在整个集群中,最后断电的那台服务器上有一个配置文件,一般在docker容器的data目录下,名称为grastate.dat,我们在每个节点上直接cat 这个文件,如下图所示如果三台服务器都是0,则可能三台服务器是同时断电的,我们就需要根据seqno来判断那一台服务器上的数据是最全的,seqno编号越大,则数据越全面,新的集群启动,就选择数据最全面的当做主节点。
gitLab远程仓库切换实操 gitlab远程仓库地址发生变化(原来仓库的账号权限被封禁止了),然后电脑坏了,只能迁移电脑上的代码和其他数据了,本来打算重新建一个代码仓库,把代码重新提交上去然后把本机的git项目代码切换到新仓库,但是这样对于代码整个git迭代过程的信息将全部丢失,于是在网上找了一些资料,打算把代码远程仓库的地址改一下,接着维护之前代码数据和版本信息。
在pycharm中使用git的一点感悟 好久没有使用git,都忘记git的操作流程了,只能强制回忆一下:今天接到领导通知,要把我这边写的代码提交到远程仓库,然后就想,他那边仓库里的代码源码都是我提供的,我本地在pycharm 中也是添加了git管理的,所以就想直接我这边的仓库代码直接push 到远程仓库上去,先pull,然后在push就行了,结果搞了半天,一直提示我这边的版本在远程仓库之前的版本:hint: Updates were rejected because the tip of your current branch is behi