Posts under category "运维"

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 ...

深夜运维思考

Jul 25,2015

晚上睡不着,起来写写文章,最近看书没耐心,囫囵吞枣,心中记下一两个点就很不错了,不敢写技术,就写写最近的一些思考吧。

![thinkings-about-ops][1]

Continue Reading ...

Nginx的简单ACL

Jul 06,2015 Nginx acl

和Apache类似,Nginx自带acl功能,使用关键字access和deny进行配置,从上往下匹配,完成匹配则执行对应的操作。

access和deny可以放在http,server,location,limit_except段中。可以限制网段,也可以是单个IP。例子如下:

location / {
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

匹配到deny的访问会出现"403 Forbidden"错误。

Continue Reading ...

诡异的gitlab排错经历

![杭州春天][1]

春天到了! 这个gitlab排错经历实在太有趣了,值得记一下!

Continue Reading ...

moosefs分布式网络文件系统

由于单机文件系统的不可靠性,软硬件都存在故障风险,所以在重要场合,大多已经开始采用分布式文件系统,分布式系统遵循不把鸡蛋放在一个篮子里的原则,在一台机器崩溃的情况,文件系统集群中的其它服务器依旧可以提供完整的文件存取服务。由于分布式文件系统的容错性、高可靠性和高可扩展性的优点,其自诞生起就一直很火,各类开源产品层出不穷。本文演示了如何使用moosefs(简称mfs)搭建一套分布式网络文件系统!

Continue Reading ...

磁盘IO分析工具iostat和iotop

Feb 04,2015 iostat iotop

磁盘IO是服务器性能的一个重要指标,下面介绍两个常用的观察IO的命令,iostat我一般用来查看磁盘的IO,以及在测试磁盘时做一个监控工具,iotop在排查服务器问题时,可以用来找到某些异常程序!下面都会做一个简要的介绍!

Continue Reading ...

vsftp安装以及本地用户和虚拟用户认证方式配置

Nov 13,2014 vsftp

vsftp配置文件十分绕口和复杂,下面是我的一些总结!

vsftp安装

cd /data/install/
tar xvf vsftpd-3.0.2.tar.gz
cd vsftpd-3.0.2
make

Continue Reading ...

dropbox备份VPS

Nov 04,2014 dropbox vps

废话 搭建好网站后的第一件工作就是备份,这是多次血泪教训后的领悟。远程备份网站的办法有很多,比如ftp,rsync,scp,或者以前提到过的邮件备份。以上大多数的办法都需要有一台另外的服务器,而邮件备份受到邮箱空间大小的限制,需要手动删除邮箱里面一段时间的附件来节省邮箱空间!而dropbox通过允许用户创建应用,我们正好利用这种方式备份文件到dropbox中!dropbox现在又被墙掉了,靠!

Continue Reading ...

sftp配置chroot

Nov 03,2014 sftp

有时候搭建一个FTP是很麻烦的事情,还有权限管理和用户配置等,在要求不高的情况下Linux自带的sftp可以更好更方便的完成ftp的工作。另外,FTP密码是明文传输的,存在一定的安全隐患,而使用ssh协议22号端口的sftp就没有这个问题!

Continue Reading ...