May 4, 2012
nginx: [warn] the “log_format” directive may be used only on “http” level ...解决办法
"新开了一个vps,装了最新的nginx 1.0.2版本,将原来的虚拟主机配置直接拿过来.用nginx -t 测试语法的时候,发现提示以下警告信息\n[root@centos nginx]# ./sbin/nginx -t nginx: [warn] the “log_format” directive may be used only on “http” level in /usr/local/nginx/conf/vhosts/bbs.conf:62\n解决办法如下:\n将/usr/local/nginx/conf/nginx.conf 里server段里的下面代码移出放到该server段的前面即可。\nlog_format access ‘$remote_addr – $remote_user [$time_local] “$request” ‘ ‘$status $body_bytes_sent “$http_referer” ‘ ‘”$http_user_agent” $http_x_forwarded_for’;\n如果有其的虚拟主机开启了日志,也按上面的要求移出server段放 …"
May 3, 2012
三招解决MongoDB的磁盘IO问题
"有点标题党的意思,不过下面三招确实比较实用,内容来自Conversocial公司的VP Colin Howe在London MongoDB用户组的一个分享。 申请:下面几点并非放四海皆准的法则,具体是否能够使用,还需要根据自己的应用场景和数据特点来决定。\n1.使用组合式的大文档 我们知道MongoDB是一个文档数据库,其每一条记录都是一个JSON格式的文档。比如像下面的例子,每一天会生成一条这样的统计数据:\n{ metric: “content_count”, client: 5, value: 51, date: ISODate(“2012-04-01 13:00”) } { metric: “content_count”, client: 5, value: 49, date: ISODate(“2012-04-02 13:00”) }\n而如果采用组合式大文档的话,就可以这样将一个月的数据全部存到一条记录里:\n{ metric: “content_count”, client: 5, month: “2012-04”, 1: 51, 2: 49, … }\n通过上面两种方式存储,预先 …"
April 29, 2012
linux tcpdump命令参数及用法详解–linux下抓包网络分析
"采用命令行方式,它的命令格式为:\ntcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名] [ -s snaplen ][ -T 类型 ] [ -w 文件名 ] [表达式 ]\n1. tcpdump的选项介绍 -a 将网络地址和广播地址转变成名字; -d 将匹配信息包的代码以人们能够理解的汇编格式给出; -dd 将匹配信息包的代码以c语言程序段的格式给出; -ddd 将匹配信息包的代码以十进制的形式给出; -e 在输出行打印出数据链路层的头部信息; -f 将外部的Internet地址以数字的形式打印出来; -l 使标准输出变为缓冲行形式; -n 不把网络地址转换成名字; -t 在输出的每一行不打印时间戳; -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; -vv 输出详细的报文信息; -c 在收到指定的包的数目后,tcpdump就会停止; -F 从指定的文件中读取表达式,忽略其它的表达式; -i 指定监听的网络接口; -r 从指定的文件中读取包(这些包一般通过-w选项产生); …"
April 27, 2012
[教程]mongodb常用维护命令
"1.客户端常用命令 ** #mongo ** \u0026gt;help //列出帮助** ** \u0026gt;db.help() //db级别的帮助** ** \u0026gt;db.mycollection.help() //collection 级别的帮助\n常用命令: \u0026gt;show dbs //show database names \u0026gt;show collections //show collections in current database \u0026gt;use //set current database \u0026gt;db.foo.find() //list objects in collection foo \u0026gt;db.foo.find({a:1}) //list objects in foo where a == 1 \u0026gt;db.createCollection(name, { size : …, capped : …, max : … } ) //创建collection \u0026gt;db.dropDatabase() //删除库 \u0026gt;db.collection.count() //统 …"
April 27, 2012
MongoDB之导入和导出
"在上文中,我们了解了 教你如何利用MySQL学习MongoDB之授权和权限,本文中我们继续我们的学习之旅,学习两者的导入和导出。\n1、MySQL导入和导出\n(1)、mysqlimport\n此工具位于mysql/bin目录中,是MySQL的一个载入(或者说导入)数据的一个非常有效的工具。这是一个命令行工具。有两个参数以及大量的选项可供选择。这个工具把一个文本文件(text file)导入到你指定的数据库和表中。比方说我们要从文件student.txt中把数据导入到数据库class中的表 student中:\nmysqlimport class.student student.txt\n(2)、load data infile\n这个命令与mysqlimport非常相似,但这个方法可以在MySQL命令行中使用。 如mysqlimport工具一样,这个命令也有一些可以选择的参数。比如您需要把自己的电脑上的数据导入到远程的数据库服务器中,您可以使用下面的命令:\nLoad data local infile “d:\\student.txt” into table student;\n上面的local参数 …"
April 27, 2012
MongoDB非正常关闭后修复记录 mongod –repair
"mongod没有后台执行,在终端连接非正常断开后,再次执行mongod报错,如下所示:\n[root@localhost mongodb]# ./bin/mongod ./bin/mongod –help for help and startup options Thu Nov 17 22:42:49 Thu Nov 17 22:42:49 warning: 32-bit servers don’t have journaling enabled by default. Please use –journal if you want durability. Thu Nov 17 22:42:49 Thu Nov 17 22:42:49 [initandlisten] MongoDB starting : pid=3257 port=27017 dbpath=/data/db/ 32-bit host=localhost Thu Nov 17 22:42:49 [initandlisten] Thu Nov 17 22:42:49 [initandlisten] ** NOTE: when …"
April 23, 2012
jquery.validate remote 和 自定义验证方法
"$(function(){\nvar validator = $(“#enterRegForm”).validate({ debug:false, //调试模式取消submit的默认提交功能 //errorClass: “error”,//默认为错误的样式类为:error //validClass: “check”,//验证成功后的样式,默认字符串valid focusInvalid: true,//表单提交时,焦点会指向第一个没有通过验证的域 //focusCleanup:true;//焦点指向错误域时,隐藏错误信息,不可与focusInvalid一起使用! onkeyup: true, errorElement: “div”, submitHandler: function(form){ //表单提交句柄,为一回调函数,带一个参数:form form.submit(); //提交表单 },\nrules: { “enterprise.enName”: { required: true, minlength: 6, remote:{ url: “/nameServlet”, //后台处理 …"
April 21, 2012
Zend_Filters_Input来实现对密码重复验证
"22.5.4. 使用 Metacommands 来控制过滤器或校验器规则 除了声明从字段到过滤器或校验器的映射,你可以在数组声明中指定一些 “metacommands” ,开控制一些 Zend_Filter_Input 的可选的行为。 Metacommands 在给定的过滤器或校验器数组值里以字符串索引条目的形式出现。\n22.5.4.1. The FIELDS metacommand 如果过滤器或校验器的规则名和需要应用规则的字段名不同,可以用 ‘fields’ metacommand 来指定字段名。\n可以用类常量 Zend_Filter_Input::FIELDS 而不是字符串来指定这个 metacommand。\n\u0026lt;?php $filters = array( \u0026#39;month\u0026#39; =\u0026gt; array( \u0026#39;Digits\u0026#39;, // filter name at integer index [0] \u0026#39;fields\u0026#39; =\u0026gt; \u0026#39;mo\u0026#39; // field name at string index …"
April 21, 2012
Zend_Filter_Input的基本用法
"这里我们假设有一个登录入口,有三个表单元素,分别为用户名(username),密码(password)和验证码(captcha).\n要求如下:\n所有元素去掉两边的空格 用户名要为数字和字母 验证码为数字类型(这里为了验证为空的情况下,注释掉了这块功能.启用的话,如果输入的是非数字的话,会直接提示不能为空.) PHP 代码如下:\n\u0026#39;StringTrim\u0026#39;, \u0026#39;username\u0026#39; =\u0026gt; \u0026#39;Alnum\u0026#39;, //\u0026#39;captcha\u0026#39; =\u0026gt; \u0026#39;Digits\u0026#39; ); $validators = array( \u0026#39;username\u0026#39; =\u0026gt; array( \u0026#39;allowEmpty\u0026#39; =\u0026gt; false ), \u0026#39;password\u0026#39; =\u0026gt; array( \u0026#39;allowEmpty\u0026#39; =\u0026gt; false ), \u0026#39;captcha\u0026#39; =\u0026gt; array( \u0026#39;Digits\u0026#39;, \u0026#39;messages\u0026#39; …"
April 19, 2012
重装系统备份文件清单
"包括lamp,lnmp 所涉及到的所有配置文件.\n重装安装系统备份\nphp.ini文件 rc.local /etc/crontab nginx.conf 及相关虚拟主机配置文件 数据库备份 网站程序备份 ftp配置文件备份 系统防火墙iptables设置 注: 恢复配置文件时,注意相关文件权限,如网站ftp目录的权限分配问题."