Posts under category "运维"
Nginx记录用户请求Header到access log
为了统计和其它用途,经常有人需要自定义Nginx日志,把http请求中的某个字段记录到日志中,刚好在看lua+nginx的文章,第一想到的是用lua赋值来做,但是想想有点小恶心,于是Google了一番,发现Nginx自己就能够记录收到的HTTP请求的头部数据,测试如下方法可用。
利用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
深夜运维思考
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"错误。
诡异的gitlab排错经历
![杭州春天][1]
春天到了! 这个gitlab排错经历实在太有趣了,值得记一下!
moosefs分布式网络文件系统
由于单机文件系统的不可靠性,软硬件都存在故障风险,所以在重要场合,大多已经开始采用分布式文件系统,分布式系统遵循不把鸡蛋放在一个篮子里的原则,在一台机器崩溃的情况,文件系统集群中的其它服务器依旧可以提供完整的文件存取服务。由于分布式文件系统的容错性、高可靠性和高可扩展性的优点,其自诞生起就一直很火,各类开源产品层出不穷。本文演示了如何使用moosefs(简称mfs)搭建一套分布式网络文件系统!
磁盘IO分析工具iostat和iotop
磁盘IO是服务器性能的一个重要指标,下面介绍两个常用的观察IO的命令,iostat我一般用来查看磁盘的IO,以及在测试磁盘时做一个监控工具,iotop在排查服务器问题时,可以用来找到某些异常程序!下面都会做一个简要的介绍!
vsftp安装以及本地用户和虚拟用户认证方式配置
vsftp配置文件十分绕口和复杂,下面是我的一些总结!
vsftp安装
cd /data/install/
tar xvf vsftpd-3.0.2.tar.gz
cd vsftpd-3.0.2
make
dropbox备份VPS
废话 搭建好网站后的第一件工作就是备份,这是多次血泪教训后的领悟。远程备份网站的办法有很多,比如ftp,rsync,scp,或者以前提到过的邮件备份。以上大多数的办法都需要有一台另外的服务器,而邮件备份受到邮箱空间大小的限制,需要手动删除邮箱里面一段时间的附件来节省邮箱空间!而dropbox通过允许用户创建应用,我们正好利用这种方式备份文件到dropbox中!dropbox现在又被墙掉了,靠!
sftp配置chroot
有时候搭建一个FTP是很麻烦的事情,还有权限管理和用户配置等,在要求不高的情况下Linux自带的sftp可以更好更方便的完成ftp的工作。另外,FTP密码是明文传输的,存在一定的安全隐患,而使用ssh协议22号端口的sftp就没有这个问题!