奇妙的 Linux 世界

种一棵树最好的时间是十年前,其次是现在。

MySQL 高可用方案选型参考

MySQL的各种高可用方案,大多是基于以下几种基础来部署的: 基于主从复制; 基于Galera协议; 基于NDB引擎; 基于中间件/proxy; 基于共享存储; 基于主机高可用; 在这些可选项中,最常见的就是基于主从复制的方案,其次是基于Galera的方案,我们重点说说这两种方案。其余几种方案在生产上用的并不多,我们只简单说下。 基于主从复制的高可用方案 双节点主从 + keepaliv......

让 MySQL 支持 emoji 表情符号存储

MySQL的文本(varchar,text),对emoji表情符号不是很好的支持,在5.5之前的版本,varchar和text都是不支持存储emoji表情符号的(即使是utf8)的编码模式。原因在于mysql的utf8是规定了每一个utf8字符按照3个字节来存储,而一个emoji(最初来自苹果系统,现在流行于各种移动操作系统)却需要4个字节来存储。这就导致了如果强制将emoji存储到varc......

Centos 6 下 Codis 集群的搭建与使用

Codis简介 Codis是豌豆荚使用Go和C语言开发、以代理的方式实现的一个Redis分布式集群解决方案,且完全兼容Twemproxy。Twemproxy对于上一层的应用来说, 连接Codis Proxy(Redis代理服务)和连接原生的Redis服务器没有明显的区别,上一层应用能够像使用单机的Redis一样对待。Codis底层会处理请求的转发、不停机的数据迁移等工作, 所有底层的一切处......

使用 PM2 管理 Node 应用

简介 Node.js应用能够简单地通过命令行启动,只要有Node 运行环境。对于生产环境,情况要复杂得多。不仅需要数据库等功能性组件,更对安全性、可靠性、可扩展性等方面有更高的要求。 PM2是一个针对Node应用且自带负载均衡的进程管理器,拥有forever和Upstart都不具备的特性。能够管理Node 应用,使其随系统启动,出错挂掉能自动重启。还能对应用的运行状态进行监控,为应用生成Sy......

Localtunnel 内网穿透工具的安装与使用

简介 Localtunnel可以方便快捷的实现你的本地web服务通过外网访问,无需修改DNS和防火墙设置,其实原理与ngrok类似。但Localtunnel是基于nodejs的,而ngrok是基于go语言。 使用官方提供的Localtunnel服务端 安装localtunnel客户端 localtunnel是基于node.js的一个模块,所以首先需要安装node.js和npm。(此部分略) ......

CentOS下部署 Ngrok 服务器

什么是Ngrok Ngrok是一款用go语言开发的开源软件,它是一个反向代理。通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。Ngrok可捕获和分析所有通道上的流量,便于后期分析和重放。 下图简述了Ngrok的原理 应用场景 用于对处在内网环境中,无外网IP的计算机的远程连接。 Ngrok可以做TCP端口转发,对于Linux可以将其映射到22端口进行SSH连接。Wind......

运维的 85 条军规

中文翻译:http://www.oschina.net/translate/85-operational-rules 英文原文:http://jprall.typepad.com/blog/2010/10/85-operational-rules.html 承载能力优先 ——随后再进行优化 —— 不遵守这条规则必定带来故障停机时间。不要在故障停机时间的压力下进行优化——要先集中精力提高承......

MySQL不同复制模式下忽略某些 Binlog 事件方法

在MySQL复制中,如何忽略slave节点上发生的主键冲突、数据不存在等错误。 在MySQL复制中,如果slave节点上遇到错误,比如数据不存在或者主键冲突等错误时,想要忽略这些错误,可以采用以下几种方法: 1、未启用GTID模式时 只需通过设定 SQL_SLAVE_SKIP_COUNTER 的值,即可忽略一些复制事件。例如: 需要先关闭SLAVE服务 1root@imysql.com [t......

MySQL Processlist 中需引起关注的状态

一般而言,我们在processlist结果中如果经常能看到某些SQL的话,至少可以说明这些SQL的频率很高,通常需要对这些SQL进行进一步优化。 今天我们要说的是,在processlist中,看到哪些运行状态时要引起关注,主要有下面几个: Copy to tmp table 执行ALTER TABLE修改表结构时建议:放在凌晨执行或者采用类似pt-osc工具 Copying to tm......

Nginx 与 Lua 的执行顺序和步骤说明

一、Nginx执行步骤 Nginx处理每一个用户请求时,都是按照若干个不同阶段(phase)依次处理的,而不是根据配置文件上的顺序。 Nginx处理请求的过程一共划分为11个阶段,按照执行顺序依次是post-read、server-rewrite、find-config、rewrite、post-rewrite、 preaccess、access、post-access、try-files、......