gitab出现500错误的可能原因

HTTP服务器返回码为500表示服务器出错,我遇到过好几次GitLab出现500错误,主要是在用户merge request和提交issue的时候。我们的GitLab服务器版本为GitLab 7.9.1社区版。

![gitlab-500.png][1]

Continue Reading ...

tcpcopy的简单用法

Apr 05,2016 tcpcopy intercept

这篇文章介绍下网易开源的流量重放(replay)工具TCPCopy,说是简单介绍,绝对不是谦虚,因为自己了解的确实也不多。为什么不甚了解呢,大家可以到TCPCopy的官方仓库看看,https://github.com/session-replay-tools/tcpcopy.git,这货的官方文档是全英文的,不知道为什么,读起来特别有难度。OK,吐槽到这里结束,接下来是实战时间。

Continue Reading ...

使用openresty增强Nginx的Proxy_Cache缓存

这个静态首页缓存的需求是分步骤的,当你越往下走,才发现水越深。一开始都把事情想当然了。本篇文章详细描述了如何一步步深入需求,解决缓存中遇到的问题,以及踩过的水坑。

![fierce][1]

Continue Reading ...

语言环境变量LANG和LANGUAGE

Feb 21,2016 lang locale language

作为5年的重度Linux桌面用户,2年前改投elementary os之后,越来越少折腾了。对Linux桌面版有兴趣的建议尝试下这款操作系统,免费广告完毕。

Continue Reading ...

建立自己的OpenID站点

Feb 20,2016 openid openid-org-cn

学习flask用户登录一节的时候,案例使用的是OpenID认证,但是找不到提供OpenID的站点,Google,Facebook这些你懂的。在绝望的时候发现了http://openid.org.cn/,该网站可以让新手在1分钟内搭建自己的OpenID站点,超级简单方便,好用到想哭。用来做OpenID的客户端代码功能测试实在不能更方便了。

![openid logo][1]

Continue Reading ...

无比强大的shell之json解析工具jq

Jan 27,2016 bash json jq shell

写脚本还是以shell为主,但是在调用api或者访问服务的时候,经常用到json,这时候会用python来解析json数据,所以是否需要解析json一直是我决定用python还是shell编写脚本的参考依据。某天遇到一个大神,他说你知道jq嘛,回去搜一搜,简直了。废话少说,上代码说话。

![json工具][1]

Continue Reading ...

keepalived的简单配置

Dec 22,2015 keepalived

Keepalived是一款流行的高可用软件,通过为keepalived集群设置虚IP和健康检测脚本,当检查失败的时候,根据keepalived的策略使虚IP在服务器之间漂移。由于虚IP漂移过程中可能有交换机arp缓存导致请求失效,所以在切换到master之后,应立刻自动执行脚本刷新交换机的缓存。

Continue Reading ...

乙未年广福禅寺小住记

Dec 06,2015 修行

禅寺全景照

临行前,我对朋友说,我已经做好剃发的准备了。然后头也不回一个向东,一个向西。假装洒脱,实则心中充满不安!

接下来一切都是未知的,29号下班了特意把朋友叫到家里来聊聊天,收拾好行李,我说我心中有太多的疑惑,需要安静思考,希望一段时间的打坐参禅能给我解答,对我来说,毕竟也是一种新的人生体验。如果顿悟,或许就待在山上不回来了!

Continue Reading ...

Nginx记录用户请求Header到access log

为了统计和其它用途,经常有人需要自定义Nginx日志,把http请求中的某个字段记录到日志中,刚好在看lua+nginx的文章,第一想到的是用lua赋值来做,但是想想有点小恶心,于是Google了一番,发现Nginx自己就能够记录收到的HTTP请求的头部数据,测试如下方法可用。

Continue Reading ...

利用strace做PHP故障排查

Nov 24,2015 strace php

![tools.jpg][1] 收到报警线上运行PHP程序的8核服务器load average达到200多,这个太吓人了。赶紧登录系统运行top,看到好几个php-fpm进程CPU利用率达到100%,看到大多数CPU都消耗在内核态,即sys模式,运行状态良好的程序大多时候应该运行在用户态才对呀。

用strace看看进程内部的系统调用,为了方便重复查看,把输出重定向到临时文件/tmp/php.debug中:

# strace -p <PID> 2> /tmp/php.debug

Continue Reading ...